我正在使用ADO查询文本文件以将数据导入Excel。ADO文本文件查询 - 通过逗号分隔的结果
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & filePath & ";" & _
"Extended Properties='text';"
rs.Open "SELECT * FROM " & fileName, cn
wsImport.Range("A1").CopyFromRecordset rs
我正面临的问题是查询结果被拆分,用逗号作为分隔符。这意味着当我将数据写入工作表时,它会跨越多个列输出。
我已经确认它在查询阶段被拆分,而不是在将数据写入工作表阶段。当我希望在创建的记录集的第一个字段(允许将数据写入工作表的A列)中访问所有数据时,我必须使用rs.Fields(0)
和rs.Fields(1)
访问某些数据行。
任何人都可以澄清我如何查询文本文件,而不是任何分隔符分裂数据?
我也试过在扩展属性中使用下面的内容。
Extended Properties='text;HDR=Yes;FMT=Delimited';
和
Extended Properties='text;HDR=Yes;FMT=FixedLength';
你需要创建一个schema.ini文件,但我真的不能明白为什么你会使用ADO的一切都在这里,而不仅仅是阅读的文本文件转换成一个变量,分裂成一个数组在每个换行符,然后将数组放入工作表中。 – Rory
感谢您的输入@Rory。如果你能提供一个如何工作的例子,很高兴考虑你的建议?我一直以这种方式处理文本文件,假设它是从文本文件和Excel中获取数据的最快方法。 –