将 Excel 表读入锯齿状数组

将 Excel 表读入锯齿状数组

我是一名程序员,但最近刚接触 powershell 和 vba。我发现 powershell 中有这个简单但有效的命令可以读取 csv 文件,然后您可以立即通过 csv 文件中的标题访问“列”。在下面的示例中,有一个名为“位置描述”的标题,我可以通过该标题立即访问列。VBA 是否有类似用于读取 csv 文件的功能,如果在电子表格中运行宏,这是否也类似于读取工作表?

代码片段

$InputData = import-csv $InputFile
foreach ($row in $InputData)
{
    $locdesc = $row."Location Description"

答案1

Excel VBA 中没有内置任何功能可以让您通过标题/字段名称来寻址 CSV 文件中的列。

但是,Microsoft ActiveX 数据对象库中有 ADODB。在那里,您可以使用 JET/CSV 连接字符串指向文件、定义分隔符并告诉它您有标题,从而打开与 CSV 的连接。然后,您可以将 CSV 的内容拉入记录集,并在记录集对象中按名称引用字段。您还可以在 CSV 中输入任何您想要的 SQL,并在从 JET 返回记录集之前进行一些数据操作。

这有点迂回,但如果您只知道 CSV 中字段的名称而不是序数,那么这可能是您最好的选择。

相关内容