我正在使用 VSTO 创建 Excel 加载项。这个附加组件从 sql-server 检索和显示大量数据。这很好用,但后来我打算访问 excel 中的一些数据并以某些方式修改它。我的问题是我需要一种对要修改的单元格进行分类的方法。有什么方法可以将元数据添加到单元格以了解它是否是应该修改的单元格?例如。向单元格添加属性,例如“editable_cell”,并执行类似 Excel.FindCellsWithAttribute("editable_cell") 的操作来查找所需的单元格?
谢谢!
最佳答案
有几种方法可以做到这一点。我不知道你的具体要求,所以我将简要概述一些解决方案。
创建命名范围,但如果操作不当,添加/删除数据可能会影响定义的命名范围。有时,最好定义一个名为范围的单元格作为书签,然后“选择范围”将为您提供所有数据。
创建样式。将此样式应用于您希望“查找”的每个数据单元格。定义一个方法,该方法返回具有指定样式的单元格所基于的范围。
创建一个
PivotCache
对象。此对象能够 self 更新并减小文件大小,尤其是在工作簿中重复使用缓存时。这也是解决工作表行数限制的一种方法。创建一个列表。这有很多优点。您可以随意添加/删除数据。添加/删除列。将列表视为表格。
使用 XML 映射 ( http://msdn.microsoft.com/en-us/library/aa203737(office.11).aspx ) 作为“code4life”提及。
如果工作簿是 XMLSS,则定义一个新的命名空间并使用命名空间中的属性装饰单元格。然后您可以使用 XPath 进行“查询”。这是一个非常强大的功能,因为您可以将需要的任何内容嵌入到工作簿中。
每个都有其优点/缺点。我已多次使用每种解决方案。
关于c# - VSTO:将元数据附加到 Excel 中的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2045435/