C#使用Office原生库开发后的运行问题

发布时间:2024年01月11日

客户有个需求,要求写程序从Excel中获取数据,统计加工后导出一定格式的PDF。为此我计划读取Excel后,写入Word模版,再用Word导出PDF。

具体实现有2中方案:

  1. 使用微软的Office原生库(Microsoft.Office.Interop)进行开发
  2. 使用第三方库,如:NPOIitextsharp、Spire或者Aspose等,但是最终PDF效果不如Office原生库。

最终确定用原生库来开发。但是网上讨论说将来发给用户运行问题很多,有的说必须Office版本一致;也有的说高版本的可以兼容低版本的,众说纷纭。因此准备实际测试一下。

一、准备

开发环境:实体机、Win10、VS2019、Office2016

运行环境:VMware虚拟机、Win10、Office2007

这个“运行环境”就是目前客户的环境,因此先测一下

二、测试Office2007

1、直接运行

将开发生成的exe拷贝到虚拟机中运行

发现报错:

由于不知道错在哪里,因此改写程序,加入错误捕获记录到文件。但是运行后依旧记录不到错误,因此只好在虚拟机中搭建开发环境,看看到底错在哪里。

2、安装VS2009

安装好VS2009,然后拷贝项目过去,打开就看到了报错:

3、重新在“引用”库

在“引用”中再次添加引用,找到Microsoft Word 12.0 Object Library,添加就报错

尝试直接点击“解决方案资源管理器”中的的两个引用

Microsoft.Office.Interop.Excel

Microsoft.Office.Interop.Word

发现也报错:

手工把这三个有问题的删除

文章来源:https://blog.csdn.net/dgnankai/article/details/135524758
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。