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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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相同的目录下。

技术分享

方案2,将Spire.XLS.dll和Spire.Pdf.dll同时作为Reference导入到项目里。

技术分享

 

转换出来的结果真是完美极了:

原始的Excel:

技术分享

转换出来的PDF:

技术分享

在使用Spire.Xls的同时,我也在尝试使用免费的Spire.Doc去做Word文档到PDF文档转换时,遇到了相同的问题,上面的两个方案也适用在Spire.Doc组件中。


以上是关于使用Spire组件抛出异常The type initializer for 'spr857' threw an exception的主要内容,如果未能解决你的问题,请参考以下文章

SpecFlowPlusRunnerAssemblyHook 抛出异常 Invalid URI: The hostname could not be parsed

Spire.Doc组件

ServiceProvider.GetService<Type> 每次使用都会抛出异常

[.NET] 打造一个很简单的文档转换器 - 使用组件 Spire.Office

ActiveMQ抛出异常javax.jms.IllegalStateException: The Session is closed

Pytorch 抛出错误 RuntimeError: result type Float can't be cast to the desired output type Long