【问题标题】:Excel: Dump cell attributes to arrayExcel:将单元格属性转储到数组
【发布时间】:2013-04-08 20:43:57
【问题描述】:

我知道我可以像这样快速将 excel 单元格的值转储到数组中:

object[,] values = workSheet.UsedRange.Value2 as object[,];

我可以对单元格的属性而不是它们的值做类似的事情吗?例如,我想获取单元格颜色,但 object[,] cc = workSheet.UsedRange.Interior.Color as object[,]; 导致 cc 为空。

遍历工作表以获取单元格属性需要更长的数量级。

【问题讨论】:

  • 没有内置支持。
  • 一句话......不。如果您想将它们全部设置为相同的东西,这很容易......但这似乎不是您想要的。
  • OleDb 是一种从大量单元格中获取所有值的快速方法。它不会进行格式化(即单元格颜色),只是数据。看起来您需要第三方应用来完成您需要的工作。
  • 所以我想答案是否定的。坚果。

标签: c# excel .net-3.5 vsto


【解决方案1】:

迟到总比没有好。简而言之,在没有代码存根的情况下,

将工作表另存为 xml 格式的文件。使用 xml 阅读器读取文件,在 xml 对象中查询 styleID(或您想要或需要的任何其他内容)。查询 styleID 的颜色属性,并与每个单元格匹配。 xml 数据库上的 LINQ 查询应该只需要几行就可以完成所有这些。

【讨论】:

  • 感谢@Jeltz 的回复,但这会比循环浏览工作表更快吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-29
相关资源
最近更新 更多