c#导出到excel文件收到错误信息

本文关键字:错误 信息 文件 excel | 更新日期: 2023-09-27 18:15:17

我使用Excel 2010我有下面的代码,我想导出到一个xls文件,但我得到以下消息:

您试图打开的文件"Report.xls"的格式与文件扩展名指定的格式不同。在打开文件之前,请确认该文件未损坏,并且是针对可信源的。您想现在打开文件吗?

注意,它仍然打开,但不确定为什么我收到消息

           ....
            a.Fill(dtRecords);
            Response.ClearContent();
            Response.AddHeader("content-disposition", "attachment;filename=Report.xls");
            Response.ContentType = "application/ms-excel";
            string tab = string.Empty;
            foreach (DataColumn datacol in dtRecords.Columns)
            {
                Response.Write(tab + datacol.ColumnName);
                tab = "'t";
            }
            Response.Write("'n");
            foreach (DataRow dr in dtRecords.Rows)
            {
                tab = "";
                for (int j = 0; j < dtRecords.Columns.Count; j++)
                {
                    Response.Write(tab + Convert.ToString(dr[j]));
                    tab = "'t";
                }
                Response.Write("'n");
            }
            Response.End();

c#导出到excel文件收到错误信息

我相信.xls文件的官方mime类型是application/vnd.ms-excel (source)

您正在获得此消息,因为您正在尝试将字符分隔值(CSV)流导出为XLS文件。

CSV是文本格式,而XLS是复杂的二进制格式,比CSV具有更多的功能。

MS Excel报错,因为它首先尝试以XLS格式打开文件,但它发现该文件实际上不是XLS,所以它显示警告信息,但仍然足够聪明地发现该文件是CSV并相应地采取行动。

尝试用扩展名.csv和内容类型text/csv保存文件。