0

当用户尝试在 excel 表 (.xlsx) 中上传数据时,我收到此错误。它不是一个永久性的问题。我曾经遇到过这个问题,可能一周一次。但今天它经常发生。

    private void ExportToExcelOpenOffice(DataTable dataDump)
    {

        long? empUserId = null;
        bool showTeamData = false;

        if (this.IsUserEntryValid())
        {
            if (CurrentUser.Details.UserType == UserType.User)
            {
                empUserId = CurrentUser.Details.EmployeeUserId;
                showTeamData = true;
            }

            if (dataDump.IsValid(true))
            {
                // ExcelHelper.ToExcel(dataDump, "ELogger_DataDump.xls", this.Response);
                // RichExcelHelper.ToExcel(dataDump, "ELogger_DataDump.xls", this.Response);

                using (ExcelPackage pck = new ExcelPackage())
                {
                    ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Page 1");
                    ws.Cells["A1"].LoadFromDataTable(dataDump, true);

                    //Write it back to the client
                    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                    Response.AddHeader("content-disposition", "attachment;  filename=ELogger_DataDump.xlsx");
                    Response.BinaryWrite(pck.GetAsByteArray());
                    Response.Flush();
                    Response.End();
                }

            }
            else
            {
                lblMessage.Visible = true;
                lblMessage.Text = "No records found.";
            }
        }
        else
        {
            lblMessage.Visible = true;
            lblMessage.Text = this.errorMessage;
        }
    }
4

1 回答 1

0

好吧,只是为了让任何一个到达这里的人遇到类似的问题。让我澄清一下,上面提到的代码没有任何问题。我优化了我的 Sql 存储过程。我做的一件事是我向某些列添加了非聚集索引,从而提高了性能。

在存储过程中也很少进行其他与业务需求相关的更改。
总而言之,优化查询对我有用。

于 2013-03-02T20:10:24.217 回答