以编程方式处理Excel工作簿

时间:2010-03-25 22:42:37

标签: excel-2007

我有一个我想用作模板的Excel工作簿。它有几个工作表设置,一个产生漂亮的图形并总结数字。工作表1需要填充由另一个程序生成的数据。数据以制表符分隔文件的形式出现。

目前,用户将制表符分隔文件导入新工作簿,选择全部和副本。然后转到模板并将数据粘贴到sheet1。

这是大量数据,269列和超过135,000行。这是一个繁琐的过程,用户不是经验丰富的Excel用户。他们真正想要的只是漂亮的图表。

我想在生成数据的程序之后添加一个步骤,以便以编程方式自动执行用户当前必须手动执行的过程。

有人能建议能够实现这一目标的最佳方法/编程语言吗?

4 个答案:

答案 0 :(得分:2)

POI就是答案。看看Apache网站。您可以使用java来读取数据并将其放在单元格中。这些例子非常简单。

答案 1 :(得分:1)

您可以通过简单的VBA宏解决此问题。只需使用宏录制器记录用户现在手动执行的步骤,这将为您提供一些东西(您可能需要添加一个功能让用户选择导入文件)。

你说你有一些由另一个程序生成的数据。什么样的节目?您自己开发的程序以及可以添加excel-import功能的程序?或者是一个GUI无法自动化的第三方程序?

如果你真的想为这个任务创建一个外部程序 - 只要它可以使用COM对象,选择你喜欢的任何编程语言。在.NET中,您可以选择使用VSTO,但我只建议您为此任务,如果您已经有过这方面的经验(但是您不会问这类问题,我认为: - ))

答案 2 :(得分:0)

看这里:

Create Excel (.XLS and .XLSX) file from C#

有NPOI(POI的.NET Framework版本),以便您可以根据需要使用C#进行编码。

答案 3 :(得分:0)

如果您使用两个工作簿 - 一个用于数据,一个用于图表 - 并且不自动更新链接,您可以使用宏来获取数据(如果文件的格式可以读取,则可能是ODBC连接 - 长然后将图表链接到数据工作簿。

使用宏来更新链接并生成图表,然后将其发送出去,希望没有人更新链接。