如何在powershell中从Excel获取特定的行数

How to get specific number of rows from Excel in powershell

我需要从 A 列获取前 35 行(包括空行)到一个变量。 我查看了互联网,但我无法在任何地方找到答案。 $data = $worksheet.Range("A1:A35").text returns 仅单元格 A1。我尝试使用 Cell.item 等,但没有成功。有谁知道如何将 excel 中的单元格范围 A1:A35 提取到变量中并将其保存到文本文件中?提前致谢。

$excel = New-Object -ComObject Excel.Application
$workbook = $excel.workbooks.open("*PATH_TO_THE_FILE*.xlsx")
$worksheet = $workbook.sheets.item("MatrixFill") 
$data = $worksheet.Range("A1:A35").text
$excel.Quit()

您尝试访问的文本 属性 实际上是一个对象,因此您必须这样对待它。同样对于范围,您需要使用 , 而不是 :。下面会给你你需要的。当我测试它时它对我有用。

$excel = New-Object -ComObject Excel.Application
$workbook = $excel.workbooks.open("*PATH_TO_THE_FILE*.xlsx")
$worksheet = $workbook.sheets.item("MatrixFill") 
$worksheet.Range("A1","A35") | select -expand text |out-file "textfilename.txt"
$excel.Quit()

$excel = New-Object -ComObject Excel.Application
$workbook = $excel.workbooks.open("*PATH_TO_THE_FILE*.xlsx")
$worksheet = $workbook.sheets.item("MatrixFill") 
$data = $worksheet.Range("A1","A35") | select -expand text 
$data | out-file "textfilename.txt"
$excel.Quit()