将CSV直接导入ListObject

我有一个CSV文件,我想要导入到一个表(即ListObject)。

通常情况下,我会用数据 – >导入文本文件… – 然后将结果转换为表。 但是,这会中断连接,即用户不能简单地按刷新并将更新后的数据存入表格。

我知道我可以用VBA(通过相同的方式,即导入数据,然后创buildlistobject),但这仍然会断开连接。

有没有办法将CSV数据导入到ListObject中而不会中断连接?

我试过了

Sheet1.ListObjects.Add(SourceType:=xlSrcExternal, _ Source:="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=filename.csv;Extended Properties=Text;", _ Destination:=Range("$A$1")) 

但是这只产生了1004错误。

伟大的问题彼得。 今天我遇到了同样的问题,感谢ExcelUser.com上的Charley Kid,发现了最好的解决scheme。

这将是一个只有链接的答案,但总结是,你可以通过使用MS Query得到这个。 要开始单击数据>从其他来源>从Microsoft Query。

此方法为文件夹中的文本文件创build一个schema.ini文件。 所以基本上文件夹是你的数据库,文本文件是你的表。 一旦这个文件由MS Query向导创build,我发现在文本编辑器中修改起来要容易得多。 再次,您可以为文件夹中的所有文本文件定义导入架构。

这是Charley Kid的post 。 我必须仔细阅读这些内容,然后才能掌握正确的细节。

这里是一个MS页面的链接,详细介绍schema.ini的设置。

如果你有时间研究它,我会很感激你的想法,因为我打算在一个相当大的项目中使用它。