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

时间:2017-08-25 15:38:40

标签: windows shell powershell active-directory windows-server-2012

我需要从A列到变量获得前35行(包括空行)。 我在互联网上看了,但我无法在任何地方找到答案。 $ data = $ worksheet.Range(“A1:A35”)。text只返回单元格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()

1 个答案:

答案 0 :(得分:0)

您尝试访问的text属性实际上是一个对象,因此您必须将其视为对象。同样对于范围,您需要使用,而不是:。下面将为您提供所需。当我测试它时,它对我有用。

$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()