【问题标题】:Convert xml to excel将xml转换为excel
【发布时间】:2016-09-01 20:35:16
【问题描述】:

当我试图将 xml 文件转换为 excel 时。

我只能使用.xls 文件扩展名来做到这一点。当我尝试将 xml 文件转换为带有 .xlsx 扩展名的 excel 时,我能够创建 excel 文件,但无法打开它。

当我尝试打开创建的 Excel 文件时,我收到以下错误消息:

Excel 无法打开文件“Request.xlsx”,因为文件格式或 文件扩展名无效。验证文件没有损坏,并且文件扩展名与文件格式匹配。

这是我的代码:

dt = project2.ConvertXMLToDataSet(xmlString);

if (dt.Rows.Count > 0)
{

        string filename = xmlfileName + ".xlsx";
        System.IO.StringWriter tw = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
        DataGrid dgGrid = new DataGrid();
        dgGrid.DataSource = dt;
        dgGrid.DataBind();
        dgGrid.RenderControl(hw);
        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        Response.AppendHeader("Content-Disposition",
                              "attachment; filename=" + filename + "");
        Response.Write(tw.ToString());
        Response.End();

}

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-3 export-to-excel


    【解决方案1】:

    我在 stackoverflow 上找到了两篇较早的帖子。我希望他们中的一个会有所帮助:

    【讨论】:

    • 感谢以上链接。
    【解决方案2】:

    您不能只是将数据网格转储到响应中并期望它被 Excel 拾取。您需要以适当的格式转换数据。我发现NPOI 是最合适的工具。这是相当多的额外工作,但您将能够做您需要做的事情,并且您将对生成的 Excel 文件有更多的控制权。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 2017-08-14
      相关资源
      最近更新 更多