/// <summary> /// 下載公司費用預算填寫表 /// </summary> public void downLoadExpBudgetForm() { ExpBudgetFormToExcel poi = new ExpBudgetFormToExcel(); //檔案位置 string fileLocation = poi.exportExcel(); //檔案名稱 HttpUtility.UrlEncode預設會以UTF8的編碼系統進行QP(Quoted-Printable)編碼,可以直接顯示的7 Bit字元(ASCII)就不用特別轉換。 string filename = HttpUtility.UrlEncode(Path.GetFileName(fileLocation)); Response.Clear(); Response.Charset = "utf-8"; Response.ContentType = "text/xls"; Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", filename)); ///"\\" + form.PROJECT_ID + "\\" + ContextService.quotesFolder + "\\" + form.FORM_ID + ".xlsx" Response.WriteFile(fileLocation); Response.End(); }
public ActionResult uploadExpBudgetTable(HttpPostedFileBase fileBudget) { int budgetYear = int.Parse(Request["year"]); logger.Info("Upload Expense Budget Table for budget year =" + budgetYear); string message = ""; if (null != fileBudget && fileBudget.ContentLength != 0) { //2.解析Excel logger.Info("Parser Excel data:" + fileBudget.FileName); //2.1 設定Excel 檔案名稱 var fileName = Path.GetFileName(fileBudget.FileName); var path = Path.Combine(ContextService.strUploadPath, fileName); logger.Info("save excel file:" + path); fileBudget.SaveAs(path); //2.2 開啟Excel 檔案 logger.Info("Parser Excel File Begin:" + fileBudget.FileName); ExpBudgetFormToExcel budgetservice = new ExpBudgetFormToExcel(); budgetservice.InitializeWorkbook(path); //解析預算數量 List <FIN_EXPENSE_BUDGET> lstExpBudget = budgetservice.ConvertDataForExpBudget(budgetYear); //2.3 記錄錯誤訊息 message = budgetservice.errorMessage; //2.4 logger.Info("Delete FIN_EXPENSE_BUDGET By Year"); service.delExpBudgetByYear(budgetYear); message = message + "<br/>舊有資料刪除成功 !!"; //2.5 logger.Info("Add All FIN_EXPENSE_BUDGET to DB"); service.refreshExpBudget(lstExpBudget); message = message + "<br/>資料匯入完成 !!"; } TempData["result"] = message; return(RedirectToAction("ExpenseBudget")); }