使用PowerShell

时间:2015-06-18 14:31:31

标签: excel powershell office-interop

我正在尝试使用PowerShell读取Excel文件。我的脚本在我的机器上运行,但是当我在未安装MS Office的服务器上运行它时会产生以下错误。客户端不会在服务器上安装MS Office。我怎么解决这个问题?

错误:

  

由于以下错误,检索CLSID为{00000000-0000-0000-0000-000000000000}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))

脚本:

$objExcel = New-Object -ComObject "Excel.Application"

我尝试通过将Microsoft.Office.Interop.Excel.dll加载到服务器来加载microsoft.jet.oledb.4.0 provider is not registered on the local machine。但它没有帮助。

我尝试过此解决方案this solution,但会生成return function (item) { var t = item // this nothing but created date "2015-06-17 18:16:08" var d = new Date(t); // i.e var d = new Date("2015-06-17 18:16:08") var time= d.getTime(); time = d.getDate()+"-"+(d.getMonth()+1)+"-"+d.getFullYear(); return time; // return milliseconds };

2 个答案:

答案 0 :(得分:3)

试试EPPlus libary。它是一个.net库,使用Open Office Xml格式(xlsx)读取和写入Excel 2007/2010文件。

至少有三个可用的PowerShell模块使用该库:

答案 1 :(得分:0)

仅供参考,我使用OfficeOpenXml.ExcelPackage解决了这个问题。