Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用XML设置Excel内部单元格字体格式_Xml_Excel - Fatal编程技术网

用XML设置Excel内部单元格字体格式

用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

我已经编写了一些生成Excel XML文件格式的C#代码,目前正在使用Microsoft Office 2010 Professional Plus。此XML文件包含许多工作表,工作表可能包含数千行数据。工作表生成多个单元格,但是每个单元格中的文本可能会格式化为不同的字体颜色(而不是使用全局单元格字体颜色)-这可以使用类似于下面摘录的一些XML

<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浏览器来完成同样的工作。(这种想法会让软件工程师陷入困境)