有人能帮我理解me中的共享字符串吗?我试着用一些博客来理解,但没有得到完整的想法。每个人都在解释如何使用Open访问共享字符串,共享字符串存储在哪里(作为sharedStrings.xml)。使用API访问是可以的。但,
我试过跟随。
http://www.sadev.co.za/content/reading-and-writing-excel-2007-or-excel-2010-c-part-iii-shared-strings
http://msdn.microsoft.com/en-us/library/gg278314.aspx
发布于 2013-07-02 09:48:45
共享字符串基本上是一种节省空间的机制。至于你的问题:
A1.不能使用Excel用户界面手动创建共享字符串。这是因为Excel默认情况下总是将任何文本存储为共享字符串。
A2.如前所述,这是一个节省空间的机制。Excel 2007/2010/2013使用Open格式,它基本上是一堆压缩在一起的XML文件。这也可能是为了便于参考。您只需引用索引,就像引用字符串数组的索引一样。(但XML本身就是冗长的,因此我怀疑它是为了节省空间)。
假设您在表格“A1”的单元格"FirstSheet“中有文本”这是一个非常长的字符串“。假设您在表格“B7”的单元格"SecondSheet“中也有相同的文本。Excel将“这是一个非常长的文本”作为一个条目存储在共享字符串表中,比如索引5。在"FirstSheet“单元格A1中,Open类单元格将只包含"5”作为CellValue。在"SecondSheet“单元格B7中,SDK类单元格也将包含"5”。
基本上,CellValue只保存共享字符串表的索引。你就是这样节省空间的。假设文本在工作表中以及在不同工作表之间重复。
A3.如果您了解如何使其工作,请选择共享字符串。如果没有,只需为CellValue设置单元格类中的实际文本(Cell.DataType为CellValues.String而不是CellValues.SharedString)。
https://stackoverflow.com/questions/17337073
复制相似问题