簡體   English   中英

Excel內部單元格字體格式與XML

[英]Excel interior cell font formatting with XML

我已編寫了一些生成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正常運行。 我的台式機應該足夠強大,可以處理這些問題,而且可以在工廠外購買大量RAM和新鮮事物。

任何幫助表示贊賞,謝謝您的時間。

工作表會生成多個單元格,但是每個單元格中的文本可能會設置為不同的字體顏色(而不是使用全局單元格字體顏色)

需要注意的一件事是,Excel對工作表中允許的唯一格式的數量有所限制。 如果將內聯字符串格式(如示例中所示)用作單元格的常規格式,則可能會超出此限制。

在Excel 2007中, 唯一單元格格式的限制為64,000 ,但將其應用於Excel 2003格式的Spreadsheet XML時,則可能低至4000。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM