【问题标题】:How to export C# datatable into Excel with HtmlFormatting如何使用 HtmlFormatting 将 C# 数据表导出到 Excel
【发布时间】:2015-12-09 05:55:42
【问题描述】:

我正在使用带有 C# 的 Asp.NET 应用程序,其中有以下数据表

                DataTable dt = new DataTable();
                dt.Columns.Add("S.No", typeof(int));
                dt.Columns.Add("HtmlContent", typeof(int));

                dt.Rows.Add("1", "Hi, I am <b>XXX</b>");
                dt.Rows.Add("2", "<b>Great</b> <i>Work</i>");
                dt.Rows.Add("3","This is Sample Image <img src='smiley.gif' alt='Smiley face' height='42' width='42'>");
                dt.Rows.Add("4", "This is attached file <a href='../Content/FileManager/Documents/Product Review.docx'>../Content/FileManager/Documents/Product Review.docx</a>");

在此 DataTable 中,HtmlContent 列包含 Html 标记、图像标记和链接格式的文件(PDF 或 Word 或视频或音频)。

要求:

我想将此数据表导出为ex​​cel格式,我的服务器不包含MS-Office Excel,内容应在Excel单元格中呈现为Html,如果任何图像文件可用则显示在 Excel 单元格中,如果任何文件(PDF 或 Word 或视频或音频)可用,则应将该对象嵌入 Excel 单元格。

请参考附件图片以查看我的最终输出。

我在网上搜索过,但找不到合适的解决方法,请提供一些帮助。

谢谢,

塞尔瓦库马尔 S

【问题讨论】:

  • 您了解 Microsoft Office 互操作程序集吗?是否可以将它们安装在服务器上(不是 MS Office,只是互操作安装程序)?
  • 是的,我知道 Interop 程序集,在 google 中,所有链接都说,Interop 程序集需要 MS-Excel 应用程序,我不知道确切但使用 DLL 搜索可行的解决方案而不安装服务器上的任何东西

标签: c# export-to-excel


【解决方案1】:

您可能想查看ClosedXML 以完成您想要的任务。由于它使用 DocumentFormat.OpenXml.dll,因此您无需在服务器中安装 MS-Office Excel。更多信息请阅读 ClosedXML 的documentation.

【讨论】:

  • 您好,我刚刚开始探索 OpenXML 和 ClosedXML,在此我正在为 Html 内容和插入图像获得可行的解决方案,但无法获得嵌入文件的适当解决方案,您知道任何示例代码吗?那么它会有所帮助我很多。
  • 您可能想看看这个question。它可能会引导您朝着正确的方向前进。
【解决方案2】:

Essential XlsIO 可以使用 HTML 格式导出到 Excel。它是用 C# 编写的,可作为库在任何 .NET 平台上使用。 example source

您需要 Syncfusion 库才能运行示例代码。 如果您符合条件,community license 将免费提供整套产品。

注意:我为 Syncfusion 工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    相关资源
    最近更新 更多