尝试导出excel c时出现磁盘错误#

时间:2018-04-12 11:05:24

标签: c# .net epplus

我正在尝试使用 EPPlus

导出Excel文件
   if (FileUpload1.HasFile && Path.GetExtension(FileUpload1.FileName) == ".xlsx")
        {

            bo.ExcelFile = txtFileName.Text;
            bo.ExcelFileBranch = txtBranchName.Text;
            bo.ExcelFileFromDate = txtValidFrom.Text;
            bo.ExcelFileToDate = txtValidTo.Text;

            using (var excel = new ExcelPackage(FileUpload1.PostedFile.InputStream))
            {
                var tbl = new DataTable();
                var ws = excel.Workbook.Worksheets.First();               


                var hasHeader = false;  // adjust accordingly
                // add DataColumns to DataTable
                foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column])
                    tbl.Columns.Add(hasHeader ? String.Format("Column {0}", firstRowCell.Start.Column)
                        : firstRowCell.Text);

                // add DataRows to DataTable
                int startRow = hasHeader ? 1 : 2;
                for (int rowNum = startRow; rowNum <= ws.Dimension.End.Row; rowNum++)
                {
                    var wsRow = ws.Cells[rowNum, 1, rowNum, ws.Dimension.End.Column];
                    DataRow row = tbl.NewRow();
                    foreach (var cell in wsRow)
                        row[cell.Start.Column - 1] = cell.Text;
                    tbl.Rows.Add(row);
                }

但我收到以下错误:

  

(HRESULT异常:0x8003001D(STG_E_WRITEFAULT))“ - 写入操作期间发生磁盘错误

2 个答案:

答案 0 :(得分:0)

不确定但是尝试使用空密码读取excel文件:

 new ExcelPackage(FileUpload1.PostedFile.InputStream, ""))

答案 1 :(得分:0)

这可能与几个问题有关。这里提出了几种不同的解决方案:

A disk error occurred during a write operation. (Exception from HRESULT: 0x8003001D (STG_E_WRITEFAULT))