Excel VBA:处理CSV文件数据的最佳方法

Excel VBA:处理CSV文件数据的最佳方法,vba,csv,excel,Vba,Csv,Excel,我正在寻找一种直接有效的方法来读取csv文件,并方便地使用Excel/VBA中的数据? 最好的方法是:通过指定行和列直接访问数据。你能告诉我你的首选吗?您知道以下两个选项之外的其他选项吗 A:使用工作簿。打开或工作簿。OpenText将csv文件作为工作簿打开。然后使用工作簿(比较) B:使用openstrfilename作为#1将数据写入字符串。使用字符串(比较) 非常感谢 =============================== 让我补充一下我从你的帖子中学到的:完成任务的最佳选择太多

我正在寻找一种直接有效的方法来读取csv文件,并方便地使用Excel/VBA中的数据?

最好的方法是:通过指定行和列直接访问数据。你能告诉我你的首选吗?您知道以下两个选项之外的其他选项吗

A:使用
工作簿。打开
工作簿。OpenText
将csv文件作为工作簿打开。然后使用工作簿(比较)

B:使用
openstrfilename作为#1
将数据写入字符串。使用字符串(比较)

非常感谢

===============================

让我补充一下我从你的帖子中学到的:完成任务的最佳选择太多地取决于你到底想做什么,因此不可能有答案。此外,还有以下用于读取csv文件的附加选项:

C:将VBScript类型语言与ADO(SQL类型语句)一起使用。我仍然在思考如何创建一个最小的有效示例


D:使用
文件系统对象
,例如参见将CSV数据添加到excel的最快、最有效的方法是使用excel的文本导入向导。 这将解析CSV文件,为您提供几个选项来格式化和组织数据。 通常,在编写自己的CSV解析器时,会忽略奇怪的语法情况,从而导致重新编写解析代码。使用excel向导可以解决这一问题,并为您提供一些其他奖励(如格式化选项)。
要从“数据”选项卡加载csv(在Excel 2007/2010中),请选择“从文本”以启动“导入文本向导”。请注意,默认分隔符是tab,因此您需要在步骤2中将其更改为逗号(或任何字符)。

取决于您要执行的操作。。。这个问题没有绝对的答案。如果您需要Excel界面,请使用方法A。如果您正在加载许多文件并且需要速度,请使用方法B。您还可以使用FileSystemObject(添加对Microsoft脚本运行时的引用)。这一直是我的偏好。我今天早上回答了一个类似的问题(性能选项B):Thx assylias!不知何故,我错过了这条线索。我建议的效率在于编程时间。编写自己的版本需要几个周期才能完成。使用Excel的内置解决方案已经可以处理这些情况。例如,解决方案和链接中没有使用引用的逗号处理这些有效的csv:chicago,LA,“NY,NY”,我同意从编程时间开始。