【问题标题】:OpenOfficeXML and HTML written to spreadsheet's cells打开写入电子表格单元格的 Office XML 和 HTML
【发布时间】:2013-08-12 20:50:48
【问题描述】:

我一直在尝试使用ExcelPackage OpenOfficeXML 和 c# 将 html 内容写入 Excel 电子表格的单元格。

我收到错误消息,指出输入字符串的标记无效。有没有人遇到过类似的事情?

直接在 Excel 中保存 html 可以正常工作。

我不想使用 html 编码,因为内容必须是可读的形式。

【问题讨论】:

标签: c# xml excel excelpackage


【解决方案1】:

在不知道更多细节的情况下:

如果您使用 XML 创建电子表格,则应为 HTML 内容使用 CDATA 标记

  <someEntry> <![CDATA[ YOUR HTML HERE ]]> </someEntry>

在 c# 中,您可以添加 CDATA。它是一种元素。

XmlCDataSection CData;
CData = doc.CreateCDataSection("<someNodeName><h1>blah</h1></someNodeName>");
XmlElement root = doc.DocumentElement;
root.AppendChild(CData);      

否则,你可能需要转义引号和双引号\" \'

或者您可以使用 System.Security.SecurityElement.Escape() 对单引号和双引号进行编码。

【讨论】:

    【解决方案2】:

    转义单引号解决了问题 - Replace("'", @"""");

    谢谢大家。

    【讨论】:

    • 采取另一个答案的形式很糟糕,然后将您的答案版本发布到您自己的问题中。
    • 一切都是为了解决问题和分享你的发现,对吧?
    • 如果您的 HTML 由于某种原因包含反斜杠怎么办?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-30
    相关资源
    最近更新 更多