起始原因:wps编辑创建的文档在microsoft office 中打开,会报内容存在异常是否恢复,因此wps文件被微软设定为破损文件,无法对原有文档进行操作运行,故在此使用wps对Excel进行操作。

环境要求:首先安装wps专业版或企业版安装包,并注册,未注册的软件,程序调用时无法正常启动,它会启动注册界面,无法对Excel进行实际代码操作。

安装成功后,在程序中引用两个com组件,该组件为wps注册程序引用的dll文件

下边一个为Excel的dll文件,上面的是wps程序的关键dll文件

开发环境说明

Vs  .net core集成操作wps

实质:通过程序调用wps客户端,启动程序后对其进行需要的操作,以加载Excel文件并保存为PDF为例

Source为源文件地址,target为目标PDF文件地址

public void newapp(string source, string target)

{

Excel.ApplicationClass mexcel = new Excel.ApplicationClass();

object missing = Type.Missing;

try

{

mexcel.Visible = false;

Excel.Workbook mdoc = mexcel.Workbooks.Open(source, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);

mdoc.Save();

//保存为Pdf

mdoc.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);

mdoc.Close(missing, missing, missing);

}

catch (Exception ex)

{

Console.WriteLine(ex);

}

finally

{

//System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

mexcel.Quit();

GC.Collect();

GC.WaitForPendingFinalizers();

GC.Collect();

GC.WaitForPendingFinalizers();

}

}

如果后期部署的话,无法找到对应dll文件,或者安装的wps版本不一致,那么可能会导致无法通过注册表启动程序,需要将对应的dll引用到发布包下

Wps必备引用ksoapi.dll

excel必备引用:etapi.dll

Dll的位置均在wps的安装路径下的\wps\WPS Office\11.1.0.12598\office6\

最新文章

  1. sqlserver2012更改文件组
  2. css中怎么设置透明度的问题
  3. GBDT(MART) 迭代决策树简介
  4. 进程(Process)和线程(Thread)的关系和区别
  5. LINUX下安装PHP(CGI模式)和NGINX[转]
  6. centOS 7配置Apache + MySQL + PHP
  7. android的引用库类
  8. SpringCloud学习笔记(3)——Hystrix
  9. phpcms v9 列表页直接下载功能代码实现
  10. 第四章——训练模型(Training Models)
  11. Android如果有一个任意写入的漏洞,如何将写权限转成执行权限
  12. webstorm常用功能FTP,及常用快捷键
  13. 温馨小程序前端布局Flex
  14. mybatis-spring 集成
  15. Quart2D矩阵变换
  16. JS 解决 IOS 中拍照图片预览旋转 90度 BUG
  17. Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理
  18. 使MySQL查询区分大小写的实现方法
  19. sqlserver列重命名
  20. shell的浮点运算

热门文章

  1. 【面试题】面试突击71:GET 和 POST 有什么区别?
  2. JavaSE——subString()方法
  3. vue 滑动到指定位置
  4. React.js 修改文本中数字样式
  5. 函数记录CAM
  6. 【运行报错】Openstack 在部署 Keystone 时出现依赖包报错 (解决安装时依赖包报错问题)
  7. java中的Filter(过滤器)和Intercepter(拦截器)的认知
  8. Python的入门学习Day 10~13——form”夜曲编程“
  9. Timer VS DispatcherTimer
  10. vite实现element-plus按需配置,自定义主题和读取/修改系统主题色