首页 > 解决方案 > 仅导入 Excel 字符串中没有标题的数据 - PowerShell

问题描述

我已经安装了 dfinke的 Import-Excel Module for PowerShell,它具有强大的功能,但我在标题方面遇到了一些麻烦。我只想将文本插入到字符串数组中,但是,即使声明了 -NoHeader,它也会附带标题。根据文档,它的功能不是在变量中插入标头,但我正在寻找一种方法来做到这一点。到目前为止,我提供了一个新手解决方案,$xlsxArray | Format-Table -HideHeaders | Out-File C:\temp\info.txt然后使用 .Trim() 删除空格,这样文件就不会被写入@{P1=ContentofTheCell}。有没有更好的方法来完成它?到目前为止谢谢。

标签: powershellpowershell-module

解决方案


您没有提供有关所需输出的足够详细信息,但我会尽力提供指导。

Import-Excel将返回对象。通常,列标题成为对象的属性名称。当您使用-NoHeader时,属性名称只是简单地命名为 P1、P2 等……对象的属性必须有名称。如果您想要来自这些属性的数据,您可能需要进行不同的处理。您可以像访问任何其他对象集合一样访问属性:

$ExcelData = Import-Excel "C:\Temp\Some.xlsx"
$ExcelData.PropertyName

PropertyName 将是文件中的列标题。因此,假设我在该文件中有一个名为 Balance 的列,那么示例将类似于:

$ExcelData = Import-Excel "C:\Temp\Some.xlsx"
$ExcelData.balance

输出:

7254.74
4268.16
3051.32
64.77
323.22
146.62
14798.83

注意:这些都是非常简单的例子。显然,事情会变得更复杂。


推荐阅读