【发布时间】:2022-10-04 16:05:45
【问题描述】:
我有这个 powershell 脚本,它从xlsm 文档中写入最后一个工作表的类型:
Add-Type -Path "C:\Program Files (x86)\Open XML SDK\V2.5\lib\DocumentFormat.OpenXml.dll"
$Document = $null
$Document = [DocumentFormat.OpenXml.Packaging.SpreadsheetDocument]::Open("C:\Users\200207121\Documents\Sandbox\FastPrep_S7_Modified_AVELIA_LZB.xlsm", $false)
$Sheets = $Document.WorkbookPart.Workbook.Sheets
$LastSheet = $Sheets.LastChild
Write-Host $LastSheet.GetType()
$Document.Close()
这输出
DocumentFormat.OpenXml.Spreadsheet.Sheet
我需要确定$LastSheet 是Sheet 类型的对象,它必须具有文档中列出的所有属性。
但是,我无法访问官方文档中指定的大部分属性
Write-Host "Type is $($LastSheet.GetType())"
Write-Host "State is $($LastSheet.State)"
Write-Host "state is $($LastSheet.state)"
这输出
Type is DocumentFormat.OpenXml.Spreadsheet.Sheet
State is
state is
为什么我无法访问这些属性?我使用了错误的库吗?文档过时了吗?我的语法错了吗?
编辑:我尝试下载包的latest version,然后将其导入。这会产生完全相同的行为
【问题讨论】: