小编Tre*_*ntD的帖子

ASP.NET MVC Excel导出文件格式错误

我目前正在编写ASP.NET MVC 5控制器操作以将一些数据导出到Excel文件(使用我在此处找到的一些代码).它主要起作用.它输出一个Excel文件,我可以打开,但不会在显示以下错误消息之前:

"'Export.xls'的文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任它的来源,否则请不要打开它.无论如何要打开它吗?"

我继续选择"是",然后打开.我可以在我的机器上重新保存并打开该文件,但我没有收到错误.它可以正常工作,唯一的另一个奇怪的是文件的网格线格式与Excel文件的格式不同,几乎更像HTML表而不是Excel表.但是,奇怪的错误消息不是可以接受的,所以我必须解决它.

这是我的代码:

public void ExportExcel()
{
    // DataObject is a class that fetches the data for this method
    DataObject dataObj = new DataObject();
    var grid = new GridView();

    // dataObj.GetDataList returns a List<T> of data model class objects
    grid.DataSource = dataObj.GetDataList();
    grid.DataBind();

    Response.ClearContent();
    Response.Buffer = true;
    Response.AddHeader("content-disposition", "attachment; filename=Export.xls");
    Response.ContentType = "application/vnd.ms-excel";
    Response.Charset = "";

    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);

    grid.RenderControl(htw);

    byte[] byteArray = Encoding.ASCII.GetBytes(sw.ToString());
    MemoryStream s = new MemoryStream(byteArray);
    StreamReader …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc excel export-to-excel

3
推荐指数
1
解决办法
3863
查看次数

标签 统计

asp.net-mvc ×1

c# ×1

excel ×1

export-to-excel ×1