共用字符串基本上是一個節省空間的機制。至於你的問題:
A1。您無法使用Excel用戶界面手動創建共享字符串。這是因爲默認情況下Excel總是將任何文本存儲爲共享字符串。
A2。如前所述,這是一個節省空間的機制。 Excel 2007/2010/2013使用Open XML格式,基本上是將一堆XML文件壓縮在一起。它也可能是爲了便於參考。您只需引用一個索引,就像引用一個字符串數組的索引一樣。 (但XML本質上是冗長的,所以我懷疑這是出於節省空間的目的)。
比方說,在表格「FirstSheet」的單元格A1中有文本「這是一個很長的字符串」。假設您還在單張「SecondSheet」的單元格B7中具有相同的文本。 Excel將共享字符串表中的「這是一個非常長的文本」存儲爲一個條目,例如索引5.在「FirstSheet」單元格A1中,Open XML SDK類Cell將僅包含「5」作爲CellValue。在「SecondSheet」單元格B7中,SDK類Cell也將包含「5」。
基本上,CellValue只包含共享字符串表的索引。這是如何節省空間。假設是文本在工作表內以及在不同的工作表中重複。
A3。如果您瞭解如何使其工作,請轉到共享字符串。如果沒有,只需將CellValue的Cell類中的實際文本(Cell.DataType設置爲CellValues.String而不是CellValues.SharedString)即可。
優秀!!!得到它了。這就是我一直在尋找的東西。有好主意。謝謝你的解釋 – Santhosh