我正在尝试使用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
};
答案 0 :(得分:3)
试试EPPlus libary。它是一个.net库,使用Open Office Xml格式(xlsx)读取和写入Excel 2007/2010文件。
至少有三个可用的PowerShell模块使用该库:
答案 1 :(得分:0)
仅供参考,我使用OfficeOpenXml.ExcelPackage解决了这个问题。