藉由 http://www.lazywinadmin.com/2014/03/powershell-read-excel-file-using-com.html 網路資源一文,來探究 Excel 架構該如何在 PowerShell 中表現出來!
首先來看個 Excel 範例:VIDEOSERVER01-BuildSpecs.xlsx
接下來的問題,就是該如何使用 PowerShell 來讀取該檔案的內容?及如何隨心所欲的控制 Excel 的數據!
- 使用 COM 來建置 Excel.Application 的物件
$objExcel = New-Object -ComObject Excel.Application - 顯示 Excel.Application 的物件
$objExcel.Visible = $true - 使用 quit() 來移除 Excel.Application 的物件
$objExcel.quit() - 使用 Open() 來開啟 Excel 檔案
$FilePath = "D:\Test\PowerShell\VIDEOSERVER01-BuildSpecs.xlsx"
$WorkBook = $objExcel.Workbooks.Open( $FilePath ) - 得知 WordBook 中,含有幾個 WorkSheet
$WorkBook.sheets - 存取特定的 Sheet
$SheetName = "BuildSpecs"
$WorkSheet = $WorkBook.sheets.item( $SheetName ) - 其他相關指令
$objExcel.WorkBooks | Select-Object -Property name, path, author
$objExcel.WorkBooks
$objExcel.WorkBooks | Get-Member
$WorkBook
$WorkBook | Get-Member -Name *sheet*
$WorkBook.sheets | Select-Object -Property Name
對於儲存格的存取,可以有很多種方式,擇一使用即可:
$worksheet.Range("C3").Text
$worksheet.Range("C3:C3").Text
$worksheet.Range("C3","C3").Text
$worksheet.cells.Item(3, 3).text
$worksheet.cells.Item(3, 3).value2
$worksheet.Columns.Item(3).Rows.Item(3).Text
$worksheet.Rows.Item(3).Columns.Item(3).Text
$worksheet.UsedRange.Range("c3").Text
沒有留言:
張貼留言