0

我需要從列A中獲得前35行(包括空行)到變量。 我在網上查找,但我無法找到答案的任何地方。 $ data = $ worksheet.Range(「A1:A35」)。text僅返回單元格A1。我嘗試過使用Cell.item等,但沒有成功。有誰知道如何從Excel中提取細胞範圍A1:A35到變量並將其保存到文本文件?提前致謝。如何在PowerShell中從Excel中獲取特定行數

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

回答

0

您嘗試訪問的文本屬性實際上是一個對象,因此您必須將其作爲對象來對待它。此外,對於範圍,您將需要使用,而不是:。下面會給你你需要的。當我測試它時它對我有效。

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

謝謝,工程就像一個魅力。但我很確定我也嘗試過(「A1」,「A35」)。我認爲-expand文本是關鍵。早些時候我沒有使用它,我只有第一排。 非常感謝! –