ExcelPackage EPPlus中出现多个Excel上载错误

时间:2017-05-15 03:10:48

标签: asp.net-mvc excel c#-4.0 epplus

 public ActionResult ExcelFile(IEnumerable < HttpPostedFileBase > excelFile) {
   try {
    if (excelFile != null) {
     foreach(var singleExcel in excelFile) {
       string path = "~/ExcelFolder/";
       singleExcel.SaveAs(Server.MapPath(path + singleExcel.FileName));

       using(FileStream fs = new FileStream(Server.MapPath(path + singleExcel.FileName), FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {
         using(ExcelPackage package = new ExcelPackage(fs)) {
          ExcelWorksheet sheet = package.Workbook.Worksheets[1];

          int startRowNumber = sheet.Dimension.Start.Row;
          int endRowNumber = sheet.Dimension.End.Row;

          int startColumnNumber = sheet.Dimension.Start.Column;
          int endColumnNumber = sheet.Dimension.End.Column;


          if (endColumnNumber > 26) {
           for (int currentColumnNumber = endColumnNumber; startColumnNumber < currentColumnNumber; currentColumnNumber--) {
            var cellValue = sheet.Cells[startRowNumber, currentColumnNumber].Value ? .ToString();

            if (!string.IsNullOrWhiteSpace(cellValue)) {

             if (cellValue == "延人公里小計") {
              sheet.DeleteColumn(currentColumnNumber);
              sheet.Cells[1, currentColumnNumber].Value = "小計";



              //return fsr;

              package.SaveAs(
               new FileInfo(@ "C:\Users\leon0944\Desktop\123\" + singleExcel.FileName));                                           

                break;
               }
              }
             }
            }
           }
          }
         }

您好,当我将多个Excel上传到该文件时,请阅读每个Excel以执行某些操作。然后我在ExcelPackage package = new ExcelPackage(fs)此行中出现错误

  

错误消息:System.Runtime.InteropServices.COMException:HRESULT:   0x8003001D(STG_E_WRITEFAULT)

某些时候我有错误时正常工作,请告诉我如何解决这个问题。这个问题存在了好几天。

0 个答案:

没有答案