我已经导出了我的数据表,如下面的代码所示。它在导出大数据时工作正常,但是当我尝试打开xls文件时,它会提示我这个错误:
“Excel在filename.xls中找到了不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的来源,请单击是。”
DataTable exportTable = Record.GetAll();
Workbook workbook = new Workbook();
Worksheet sheet = new Worksheet("Test");
for (int x = 0; x < exportTable.Columns.Count; x++)
{
sheet.Cells[0, x] = new Cell(exportTable.Columns[x].ColumnName.ToString());
}
for (int i = 0; i < exportTable.Rows.Count; i++)
{
for (int j = 0; j < exportTable.Columns.Count; j++)
{
sheet.Cells[(i + 1), j] = new Cell(exportTable.Rows[i][j].ToString());
}
}
workbook.Worksheets.Add(sheet);
workbook.Save(@"C:\temp1\Test.xls");
System.IO.FileInfo file = new System.IO.FileInfo(@"C:\temp1\Test.xls");
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-excel";
Response.TransmitFile(file.FullName);
Response.End();
答案 0 :(得分:0)
如果您使用的是Excel 2010或更高版本(我不确定2007),即使您将扩展名设置为XLS,该文件也将保存为XLSX。将扩展名更改为XLSX,它应该没问题。否则Excel将检测扩展名和文件结构之间的差异,并将显示上面的消息。