我對OpenFileDialog
類不是很熟悉,但是我正在使用它來選擇文件並在C#winform應用程序中打開文件。這是我的語法,當它打開時它有正確的文件名,但它會拋出一個調試錯誤System.Runtime.InteropServices.COMException: The server threw an exception
RPC信息:Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT)
並且如果內存服務,那是你可以得到的最通用的消息之一。從句法上來說,這個設置是否正確?或者我怎樣才能實現我的.xlsx文件打開?打開Excel 2007文件時出錯
OpenFileDialog fd = new OpenFileDialog();
fd.Title = "Select The File To Open";
fd.Filter = "Excel Files|*.xlsx";
fd.InitialDirectory = @"C:\";
if (fd.ShowDialog() == DialogResult.OK)
{
Excel.Application xlsApp = new Excel.Application();
try
{
Workbook wb = xlsApp.Workbooks.Open(fd.FileName);
MessageBox.Show("The file was opened");
}
catch (Exception grrr) { MessageBox.Show(grrr.ToString()); }
}
我相信'COMException'通常會給出一個HRESULT錯誤代碼,可以幫助您解讀出錯的部分。 – Phylogenesis 2015-03-25 01:19:13
@Phylogenesis請參閱編輯。 – user2676140 2015-03-25 01:25:47
你真的*需要*與Excel交互嗎?如果您只是想從Excel文件導入數據,那麼有更好的方法來做到這一點。使用不帶外部依賴項的本機庫,如Open XML SDK,EPPlus或NPOI(EPPlus是我的選擇)。重量更輕,速度更快,沒有依賴性,至少最後兩個更容易處理。 – mason 2015-03-25 12:42:57