【问题标题】:Convert asp:Table to excel format将 asp:Table 转换为 excel 格式
【发布时间】:2014-03-13 11:24:29
【问题描述】:

我能够从 asp:table 生成 excel 文件,但是在打开文件时生成 excel 文件后会发出警告。您尝试打开的文件与文件扩展名指定的格式不同 我已经从这个链接http://www.aspsnippets.com/Articles/Solution-ASPNet-GridView-Export-to-Excel-The-file-you-are-trying-to-open-is-in-a-different-format-than-specified-by-the-file-extension.aspx找到了解决这个警告的方法

所以我使用了 ClosedXML 库,但是在将数据添加到 excel 表时,它只接受可数据、数据集格式,并且我以字符串格式获取数据,因此它正在生成空白的 excel 表。请检查我尝试过的代码。

            LoadDetailsToTable();

            System.IO.StringWriter sw = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw);
            tbl_loctbl.RenderControl(hw);
            using (XLWorkbook wb = new XLWorkbook())
            {
                var ws = wb.Worksheets.Add("asd");
                ws.Cell(2, 1).InsertTable(sw.ToString());
                HttpContext.Current.Response.Clear();
                HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                HttpContext.Current.Response.AddHeader("content-disposition", String.Format(@"attachment;filename=newfile.xlsx"));

                using (MemoryStream MyMemoryStream = new MemoryStream())
                {
                    wb.SaveAs(MyMemoryStream);
                    MyMemoryStream.WriteTo(HttpContext.Current.Response.OutputStream);
                    MyMemoryStream.Close();
                }
                HttpContext.Current.Response.End();
            }

这里LoadDetailsToTable()函数将数据加载到asp表中。tbl_loctbl是表id。

【问题讨论】:

    标签: c# html asp.net excel


    【解决方案1】:

    很遗憾,您使用的两个标记不兼容。 Excel 中的 HTML 表格标记受支持,但 OpenXML 中不支持,而 OpenXML 正是您的库所期望输出的。

    在底层,Excel 需要一个有效的 XML 文件格式; html 虽然支持松散,但不是原生 xlsx 格式。

    互联网上有可以将 html 转换为 openxml 的库,但是这可以通过迭代数据集并使用 OpenXML SDK 实际添加单元格和行来解决

    【讨论】:

      猜你喜欢
      • 2014-12-13
      • 1970-01-01
      • 2014-07-03
      • 2018-01-17
      • 2012-04-26
      • 2021-05-21
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多