我想用C++/CLI創建一個程序,它使用Visual Studio從Excel工作簿中讀取一些數據。 我已將Microsoft.Office.Interop.Excel(v12)添加到項目屬性中的引用。 我的基本目標只是將單元格的值作爲字符串獲取(工作簿僅包含文本值)。 我當前的代碼如下(僅主要部分包括課程):用C++/CLI打開並讀取Excel文件
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in exc2.exe
Additional information: Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
這種事既XLS和:
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace Microsoft::Office::Interop::Excel;
start(void){
Microsoft::Office::Interop::Excel::Application^ exApp= gcnew Microsoft::Office::Interop::Excel::ApplicationClass();
String^ filename="e:\\test.xls";
Workbook^ wb = exApp->Workbooks->Open(filename, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing, Type::Missing);
Worksheet^ exWs = safe_cast<Worksheet^>(exApp->ActiveSheet);
int row=1;
int col=1;
String^ tmp=((Microsoft::Office::Interop::Excel::Range^)exWs->Cells[(System::Object^)row, (System::Object^)col])->Value2->ToString();
MessageBox::Show(tmp);
}
當我運行它,它與下面的錯誤崩潰xlsx文件,當我嘗試打開工作簿時(以「Workbook^wb = exApp-> Workbooks-> Open」開頭的行 - 所以我甚至無法檢查其他工作簿是否正常工作)。 請幫助一下,我錯過/做錯了什麼?
預先感謝您。