首页 > 解决方案 > 以编程方式在 Excel 工作表中查找突出显示的数据

问题描述

我们必须处理入站客户端 Excel 文件。一位客户以黄色突出显示更改的数据。我被要求找到突出显示的黄色单元格,并且只导入有变化的行。

我正在使用 Alteryx,但这在很大程度上无关紧要;问题不在于如何编码,而在于如何在 Excel 内部文件结构中找到相关突出显示的行和列。

我知道 Excel 工作簿是一组压缩的 XML 文件。我可以将 .xlsx 文件复制到 .zip 并展开它,然后处理各个 XML 工作表,例如我可以加载“.\xl\worksheets\sheet1.xml”。在那里,我可以看到单元格的位置,并且可以看到一些 XML 属性。如果单元格有样式,它似乎获得了 s="" 属性。

我认为这与样式设置有关。我可以打开样式表,但无法将 s 属性中的值与样式表文件中的条目相关联。例如,我有一个高亮单元格的值 s="219",但是样式文件中没有 219 种样式,所以 s 值不是索引。

有谁知道 Excel 文件是如何“在后台”工作的,以便我可以将工作表单元格数据与样式数据相关联以查找突出显示的单元格?

我不是在寻找“您尝试过 Excel 宏吗?” 或“使用 Python?” 或其他建议/猜测。请在非常尊重您的时间和专业知识的情况下,仅在您了解 Excel 的内部文件结构并且您知道这个特定的、公认的非常利基的查询的答案时才回答。

标签: excelxml

解决方案


推荐阅读