簡體   English   中英

嘗試導出Excel C#時出現磁盤錯誤

[英]Disk error while trying to export excel c#

我正在嘗試使用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))“-寫入操作期間發生磁盤錯誤

不確定,但嘗試使用空白密碼讀取excel文件:

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

這可能與幾個問題有關。 這里提出了幾種不同的解決方案:

寫操作期間發生磁盤錯誤。 (來自HRESULT的異常:0x8003001D(STG_E_WRITEFAULT))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM