Пример #1
0
        /// <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();
        }
Пример #2
0
        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"));
        }