xml - 使用 XML 格式化 Excel 内部单元格字体

标签 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 的行为“有点奇怪”。奇怪的是,我的意思是,当我尝试查看工作表时,我看到一些奇怪的渲染伪影 - 从电子表格的顶部开始,它将逐行缓慢渲染,直到第 20 行,此时它将暂停,再次清除自身,并重复该过程,这将继续导致 Excel 无响应,直到我使用任务管理器将其终止。

有人能解释一下这个问题吗?我不确定这是一个编程问题,尽管我是一名软件开发人员,我逐渐相信 Excel 可能无法处理这种性质的“大”文档,搜索 google 似乎没有显示任何结果有关该主题的信息,但很难找到合适的关键词。对于 Excel 来说,这似乎是一件相当深奥的事情。

我尝试将 XML 文件保存为 XLSX 格式并重新打开它,但运气不佳。我还尝试生成一个较小的数据集,这会使 Excel 正常运行。我的台式电脑应该足够强大来处理这个问题,有大量内存并且是刚从商店买来的。

感谢您的帮助,感谢您的宝贵时间。

最佳答案

The worksheet generates multiple cells however the text in each cell maybe formatted to a different font colour (rather than using a global cell font colour)

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

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

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

关于xml - 使用 XML 格式化 Excel 内部单元格字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18515484/

相关文章:

VBA 工作表更改多个单元格

excel - 在 Tableau 中的运行总和图表上生成预测

php - 如何根据用户输入从Excel工作表中查找数据

xml - 通过指定另一个值来拉取一个值

javascript - 如何使用 Javascript 检测嵌入在文本区域中的 ndash 实体?

python - 在 Python 中使用 PMML 模型

excel - VBA 触发器输入或更新查找值

VBA用循环合并单元格

android - 在android上保存文件时避免因中断而导致数据丢失?

Java:迭代 XML 文件 - hasChildNodes() 测试未按我的想象工作