从数百个文本文件更新/写入数据到Excel的可行性

时间:2016-02-25 21:53:24

标签: excel-vba text-files vba excel

我正在寻找一些关于经常从数百个文本文件更新/写入数据到Excel的可行性的建议。

我在excel-VBA-PowerPivot等中运行任务管理数据库(因为我们不允许访问:S)。对于此解决方案的最新使用,有多个用户需要同时更新电子表格的不同部分。为了解决只读锁定问题(共享工作簿不是一个选项)我想在每个任务的文件夹(在网络上)中有一个文本文件。然后为每个任务文件夹中的单个文本文件编写大量更新(通常来自outlook)的代码,然后在工作簿中编写代码以频繁更新所有文本文件中的所有数据。如果此解决方案持续使用几年,最终可能会有1000个文本文件需要更新。

在我实施之前,我希望能得到关于这是否可行的建议。主要是寻求关于从网络上的文本文件中读取数据是否是一项资源密集型任务的建议?因为如果是这样,并且如果花费大约15分钟来更新数据,我会朝另一个方向前进。

很抱歉,如果这是冗长的,并提前感谢知识共享。

1 个答案:

答案 0 :(得分:0)

选项1:MS SQL

首先,最好的方法是设置一个通用的MS SQL数据库,用户可以直接更新,如上面的评论所述(例如通过Access)。

选项2:VBA

否则你的想法与单独的文本文件(csv或xlsx)与记录更新是完全可行的,不应该花费太多时间来执行。瓶颈宁可是网络带宽而不是VBA代码本身。需要考虑的一些想法:

  1. 您可能需要遍历这些文件的网络目录。 This post might be of help

  2. 如果你想使用XLSX文件进行更新,删除和插入(比txt / csv更容易工作)去Excel中的MS Query (Ace OLEDB)。从VBA,您可以运行INSERT或UPDATE,如下所示。否则,编写必要的代码将需要很长时间并且容易出错

  3. 示例:

    INSERT INTO [Sheet1$]  SELECT * FROM `C:\Users\user\Desktop\test.xlsx`.[Sheet1$]