天天看點

使用Spire元件抛出異常The type initializer for 'spr857' threw an exception

使用Spire元件抛出異常The type initializer for 'spr857' threw an exception

我使用免費的Spire.Xls元件嘗試去轉換Excel文檔到PDF文檔,在執行下面第二行代碼,也就是做加載文檔這步時,抛出了異常“The type initializer for 'spr857' threw an exception”

Workbook workbook = new Workbook();

workbook.LoadFromFile("D:\\sample.xlsx");

workbook.SaveToFile("D:\\sample.pdf", Spire.Xls.FileFormat.PDF);

這個問題困擾了我老半天,在網上也沒搜到它的解決方案,後來通路了E-iceblue公司的論壇,才找到了它的解決方案,E-iceblue 公司的技術人員回複的說是:please make sure Spire.pdf.dll file is placed in the same location as Spire.xls.dll.

根據這個意思我嘗試了兩種方案,都能解決這個問題,在這裡分享一下:

方案1,将Spire.Xls包裡的Spire.pdf.dll檔案拷貝到Spire.Xls.dll相同的目錄下。

使用Spire元件抛出異常The type initializer for 'spr857' threw an exception

方案2,将Spire.XLS.dll和Spire.Pdf.dll同時作為Reference導入到項目裡。

使用Spire元件抛出異常The type initializer for 'spr857' threw an exception

轉換出來的結果真是完美極了:

原始的Excel:

使用Spire元件抛出異常The type initializer for 'spr857' threw an exception

轉換出來的PDF:

使用Spire元件抛出異常The type initializer for 'spr857' threw an exception

在使用Spire.Xls的同時,我也在嘗試使用免費的Spire.Doc去做Word文檔到PDF文檔轉換時,遇到了相同的問題,上面的兩個方案也适用在Spire.Doc元件中。

繼續閱讀