用XML设置Excel内部单元格字体格式
我已经编写了一些生成Excel XML文件格式的C#代码,目前正在使用Microsoft Office 2010 Professional Plus。此XML文件包含许多工作表,工作表可能包含数千行数据。工作表生成多个单元格,但是每个单元格中的文本可能会格式化为不同的字体颜色(而不是使用全局单元格字体颜色)-这可以使用类似于下面摘录的一些XML用XML设置Excel内部单元格字体格式,xml,excel,Xml,Excel,我已经编写了一些生成Excel XML文件格式的C#代码,目前正在使用Microsoft Office 2010 Professional Plus。此XML文件包含许多工作表,工作表可能包含数千行数据。工作表生成多个单元格,但是每个单元格中的文本可能会格式化为不同的字体颜色(而不是使用全局单元格字体颜色)-这可以使用类似于下面摘录的一些XML <Cell ss:StyleID="Normal"> <ss:Data ss:Type="String" xmlns="htt
<Cell ss:StyleID="Normal">
<ss:Data ss:Type="String" xmlns="http://www.w3.org/TR/REC-html40">
<Font html:Color="Red">Text in red</Font>
<Font html:Color="Blue">text in blue</Font>
</ss:Data>
</Cell>
红色文本
蓝色文本
然而,如果我生成一个大的工作表,有很多这样的单元格,它会导致Excel的行为“有点奇怪”。stangely的意思是,当我试图查看工作表时,我会看到一些奇怪的渲染工件-从电子表格的顶部开始,它会一行一行地慢慢渲染,直到大约第20行,这时它会暂停,再次清除,然后重复该过程,这将继续导致Excel变得无响应,直到我使用任务管理器终止它
有人能解释一下这个问题吗?我不确定这是否是一个编程问题,尽管我是一名软件开发人员,但我倾向于相信Excel可能无法处理这种性质的“大型”文档,搜索google似乎无法提供有关此主题的任何信息,但很难找到合适的关键字。对于Excel来说,这似乎是一件相当深奥的事情
我曾尝试将XML文件保存为XLSX格式并重新打开它,但运气不佳。我还尝试生成一个较小的数据集,使Excel正常运行。我的台式电脑应该足够强大,可以处理这个问题,有很多内存,而且刚出厂
感谢您的帮助,谢谢您抽出时间
工作表生成多个单元格,但是每个单元格中的文本可能会格式化为不同的字体颜色(而不是使用全局单元格字体颜色)
需要注意的一点是,Excel对工作表中允许的唯一格式的数量有限制。如果使用内联字符串格式(如示例所示)作为单元格的常规格式,则可能会超过此限制
Excel 2007中的限制为,但应用于Excel 2003格式的电子表格XML时可能低至4000
因此,如果超出单元格格式限制,您可能需要重新使用某些全局单元格格式。感谢您的回复,很高兴有一个链接,可以验证您自己没有做错任何事情,尽管Excel的行为相当疯狂,如果您使用HTML标记格式化,为什么会出现性能问题,毕竟HTML呈现现在已经很普遍了,不像MS以前没有编写过web浏览器来完成同样的工作。(这种想法会让软件工程师陷入困境)