Ms office Excel 2010中的共享字符串

Ms office Excel 2010中的共享字符串,ms-office,excel-2010,openxml,openxml-sdk,Ms Office,Excel 2010,Openxml,Openxml Sdk,有人能帮助我理解MS Excel中的共享字符串吗?我试着用一些博客来理解,但无法完全理解。每个人都在解释如何使用开放式XML访问共享字符串以及共享字符串存储的位置(如sharedStrings.XML)。使用API访问是可以的。但是, 如何在Excel中创建共享字符串。(在Excel 2010中手动创建,不使用API) 共享字符串的确切需求是什么 在哪种情况下,我可以选择共享字符串 我试着跟着 共享字符串基本上是一种节省空间的机制。关于你的问题: A1。不能使用Excel用户界面手动创建共享字

有人能帮助我理解MS Excel中的共享字符串吗?我试着用一些博客来理解,但无法完全理解。每个人都在解释如何使用开放式XML访问共享字符串以及共享字符串存储的位置(如
sharedStrings.XML
)。使用API访问是可以的。但是,

  • 如何在Excel中创建共享字符串。(在Excel 2010中手动创建,不使用API)
  • 共享字符串的确切需求是什么
  • 在哪种情况下,我可以选择共享字符串
  • 我试着跟着


    共享字符串基本上是一种节省空间的机制。关于你的问题:

    A1。不能使用Excel用户界面手动创建共享字符串。这是因为默认情况下Excel总是将任何文本存储为共享字符串

    A2。如前所述,这是一种节省空间的机制。Excel2007/2010/2013使用开放式XML格式,基本上是一组压缩在一起的XML文件。也可能是为了便于参考。只需引用索引,就像引用字符串数组的索引一样。(但XML本质上是冗长的,所以我怀疑它是为了节省空间)

    假设在工作表“FirstSheet”的A1单元格中有文本“这是一个很长的字符串”。假设您在第二张工作表的B7单元格中也有相同的文本。Excel将“这是一个很长的文本”作为一个条目存储在共享字符串表中,比如索引5。在“FirstSheet”单元格A1中,OpenXMLSDK类单元格将只包含“5”作为单元格值。在“SecondSheet”单元格B7中,SDK类单元格也将包含“5”

    基本上,CellValue只保存共享字符串表的索引。这就是节省空间的方法。假设文本在工作表内以及不同工作表之间重复


    A3。如果您了解如何使用共享字符串,请选择它。如果没有,只需在Cell类中为CellValue设置实际文本(Cell.DataType为CellValues.String,而不是CellValues.SharedString)。

    太好了!!!知道了。这就是我要找的。我有个好主意。非常感谢你的解释