Excel内部单元格字体格式与XML

时间:2013-08-29 15:47:08

标签: xml excel

我已经编写了一些生成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表现得有点奇怪&#34;。通过stangely我的意思是,当我尝试查看工作表时,我看到一些奇怪的渲染工件 - 从电子表格的顶部开始逐行渲染,直到第20行,此时它将暂停,再次自行清除,并重复此过程,这将继续导致Excel无法响应,直到我使用任务管理器终止它。

有人能够对这个问题有所了解吗?我不确定这是一个编程问题,即使我是一名软件开发人员,我也相信Excel可能无法应对一个大型的&#34;这种性质的文件,搜索谷歌似乎没有提出关于这个主题的信息,但很难找到合适的关键词。这似乎与Excel相当有关。

我尝试将XML文件保存为XLSX格式并重新打开,运气不佳。我还尝试生成一个较小的数据集,使Excel正常运行。我的桌面电脑应该足够强大,可以处理这个问题,大量的RAM和新鲜的商店。

感谢任何帮助,谢谢您的时间。

1 个答案:

答案 0 :(得分:1)

  

工作表会生成多个单元格,但每个单元格中的文本可能会格式化为不同的字体颜色(而不是使用全局单元格字体颜色)

需要注意的一点是,Excel对工作表中允许的唯一格式数量有限制。如果您使用内联字符串格式(如示例中所示)作为单元格的常规格式,则可能超出此限制。

Excel 2007中unique cell formats is 64,000的限制,但在应用于Excel 2003格式的电子表格XML时可能低至4000。

因此,如果超出单元格格式限制,则可能需要重新使用某些全局单元格格式。