Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用excel在powershell中打开SLK文件不会保留公式_Excel_Powershell_Office365 - Fatal编程技术网

使用excel在powershell中打开SLK文件不会保留公式

使用excel在powershell中打开SLK文件不会保留公式,excel,powershell,office365,Excel,Powershell,Office365,我试图用excel(office 365)读取SLK文件。 SLK文件有两个单元格。一个包含“硬编码”值, 另一个包含一个公式,即“5+LC(-1)”。 通过使用excel阅读SLK,它运行良好,我可以看到 公式“5+LC(-1)” 现在,我想做一个powershell脚本来读取这个SLK文件。以下是我所做的: $FilePath = "C:\tex33.slk" $excel = New-Object -comobject Excel.Application $excel

我试图用excel(office 365)读取SLK文件。 SLK文件有两个单元格。一个包含“硬编码”值, 另一个包含一个公式,即“5+LC(-1)”。 通过使用excel阅读SLK,它运行良好,我可以看到 公式“5+LC(-1)”

现在,我想做一个powershell脚本来读取这个SLK文件。以下是我所做的:

$FilePath = "C:\tex33.slk"

$excel = New-Object -comobject Excel.Application
$excel.Visible = $false
$excel.Application.DisplayAlerts = $false
$workbook = $excel.Workbooks.Open($FilePath)

# Print the formula
$workbook.sheets.item(1).activate()
$WorkbookTotal=$workbook.Worksheets.item(1)
$value = $WorkbookTotal.Cells.Item(1, 2).Formula2R1C1Local
$value

$workbook.Close()
我希望在变量
$value
中看到公式
5+LC(-1)
。但是,此变量包含此公式的结果,而不是公式。你知道为什么我在powershell中看不到公式,而在Excel中可以看到它吗?还请注意,如果我对xlsx文件而不是SLK文件执行相同的操作,则所有操作都会按预期进行(
$value
包含公式)

您认为这是因为我没有按照中的说明安装PI软件吗?在这种情况下,我不明白为什么Excel成功地看到了我的公式,而powershell失败了

SLK文件很简单(您可以看到公式5+RC[-1]):


出于好奇,当您将
$WorkbookTotal.Cells.Item(1,2).Formula2R1C1Local
输送到
获取成员时,您会得到什么?我得到以下信息:
ID;PMP
F;DG0G10
B;Y1;X2
C;X1;K1
C;X2;E5+RC[-1];K6
W;N1;A1 1;C7 0 7
E