【问题标题】:OOXML - Excel Table, PivotTable, How to update data & refresh source correctlyOOXML - Excel 表、数据透视表、如何正确更新数据和刷新源
【发布时间】:2012-03-11 05:49:33
【问题描述】:

将一系列数据动态绑定到数据透视表的最简洁、最简单的方法是什么?几年来,我已经使用我编写的 ruby​​ 组件将数据动态添加到现有的 excel .xlsx 文件中,这很容易。

当我向组合中添加数据透视表时,会有更多的 xml 文件和对数据透视表及其数据的引用。看起来您可以将数据透视表绑定到命名范围、动态命名范围或 Excel 表。如果目标是能够将数据添加到工作表并期望能够刷新数据透视表以使其工作,那么哪个方向是最简单的?

【问题讨论】:

    标签: ruby openxml


    【解决方案1】:

    查看免费电子书Open XML - The Markup Explained。它有一个部分解决了 xlsx 文件中从第 75 页开始的数据透视表所需的内容。

    【讨论】:

    • 是的,我已经看过了,但没有详细阅读。乍一看,它确实提供了一些很好的见解。但是,该部分的前提似乎假设您想从头开始生成 .xlx。我当然可以这样做,但更愿意使用现有的 .xlsx 作为“模板”,更新/替换数据并告诉 .xlsx 刷新数据透视表。
    • 您可以使用一种策略来帮助您了解在“模板”方法中要更新的内容,即获取您的模板文件并将其保存为 File1.xlsx,然后更改一条数据并保存它作为 File2.xlsx。然后运行 ​​Open XML 2.0 Producitvity Tool 并单击比较文件按钮 - 这将向您显示文件的不同之处,并为您生成差异的 C# 代码。如果我在任何 openXml 头抓挠上遇到困难,那是我尝试了解发生了什么的第一件事。
    • 糟糕——刚刚意识到你在做 ruby​​——不是 c#——这个工具和策略仍然很有帮助——它是一个真正的 XML diff 工具,并并排突出显示它们的不同之处——所以你可以知道如何进入和更改XML。您可能只更新表数据,客户端和数据透视表将在打开文件时为您完成所有更新。 Download link for the tool and SDK is here。 SDK 的帮助文件中包含一些非常有用的示例,可以帮助您理解 OpenXML。
    • 是的,这将非常有帮助 - 立即下载。当我在保存数据的工作表中更新/替换/添加行时,如何告诉电子表格新的数据范围?我最好在这里使用命名范围或 Excel 表吗?有更好的方法吗?
    猜你喜欢
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 2016-09-07
    • 2015-02-07
    • 1970-01-01
    相关资源
    最近更新 更多