使用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相同的目录下。
方案2,将Spire.XLS.dll和Spire.Pdf.dll同时作为Reference导入到项目里。
转换出来的结果真是完美极了:
原始的Excel:
转换出来的PDF:
在使用Spire.Xls的同时,我也在尝试使用免费的Spire.Doc去做Word文档到PDF文档转换时,遇到了相同的问题,上面的两个方案也适用在Spire.Doc组件中。