需要自动化excel数据的处理?

我有在Windows XP / 7上运行的进程。 他们每周产生.csv数据文件。 我有一堆excel公式,这些公式分别为每周生成的每个.csv文件编号,然后将每周数据添加到包含所有数据的大电子表格中。

行数每周都不相同,每个过程也不相同。 所以我不能在数十个公式中硬编码这个数字。 所以现在我经历了每周手工input公式到.csv文件的这个愚蠢的过程。

有一个自动化的方法。 刚才我很快就通过C#或者VB代码来做这个。 有人可以推荐最好的方法来做到这一点。 C#或VB是正确的路要走吗? 如果是这样,关于如何把它放在一起的任何提示 – 什么是使用的模型? 例如,它看起来像这样:

  • C#模块读入.csv数据文件
  • C#模块创build一个Excel电子表格并使用.csv数据填充它
  • C#模块在所有行上运行我的公式。

这是如何接近它? 对于C#或VB知识非常有限的人来说,有更好的方法吗? 我知道Java和C ++。

任何意见将不胜感激。

谢谢

从你在评论中的解释中看来,拥有一系列模板Excel表格将极大地方便任务。

所以,对于每个产生数据的进程,你都说公式总是相同的,这意味着列总是相同的(我是对吗?)。

所以,即使你不知道有多less行数据,你仍然可以创build一个模板,其中只有第一行用公式填充,然后你只需复制该行,根据需要填充数据,或者,可以使用相同的公式填充相对“舒适”的行数并填写数据。

有很多关于如何使用Excel进行互操作的标准,所以超出了我的意图,即为您提供特定的代码,但这个想法是好的。

如果我可以允许我自己,我曾经用一个非常有趣的工具调用Flexcel Studio for .NET ,并且发现它对于基于这样的模板生成Excel工作表非常有帮助。

干杯

正如其他人所build议的那样,如果可能的话,我会build议在excel之外进行计算。 在这里有很多比较容易使用的stats库,比将数据移动到excel,将公式应用到单元格区域等等方面更加容易。

如果您真的想要走上excel路线,您可以使用开放源码库(如EPPLUS (.NET)或POI (Java))来直接处理.XLSX文件。 有些库不支持函数评估,所以在决定使用库时需要考虑这一点。

如果使用COM互操作 ,则应该阅读以下内容: 关于服务器端Office自动化的注意事项 。

至于C#或VB(如果不是与POI的Java),我会去与C#。 C#语法与java类似。

这个问题可能有一个非常简单的解决scheme。

在运行我的进程时或者在.csv文件中创build.xlsx文件(包括所有公式)时,可以以编程方式向.csv文件添加1个辅助数据。 辅助数据是将在某个已知位置的行数。

然后修改我所有的公式以使用INDIRECT函数来指定使用具有辅助数据的单元格的范围。

我认为这可能工作。