起始原因: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\

Wps调用dll操作Excel表格转PDF的更多相关文章

  1. python - 操作excel表格

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  2. qt 操作excel表格

     自己编写的一个Qt C++类,用于操作excel表格,在Qt中操作excel需在.pro中增加CONFIG+=qaxcontainer配置. 1.打开Excel:objExcel = new QAx ...

  3. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  4. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  5. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  6. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

  7. 用NPOI、C#操作Excel表格生成班级成绩单

    在C#中利用NPOI操作Excel表格非常方便,几乎上支持所有的Excel表格本身所有的功能,如字体设置.颜色设置.单元格合并.数值计算.页眉页脚等等. 这里准备使用NPOI生成一个班级成绩单Exce ...

  8. 转载:python操作excel表格(xlrd/xlwt)

    python操作excel表格(xlrd/xlwt)   最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...

  9. 使用Java操作Excel表格

    目录 一.配置第三方库 二.使用Apache POI API 1. 打开Excel文件 2. 选择对应的sheet 3. Sheet接口的基本使用 3.1 获取开头行和结束行 3.2 获取Row对象 ...

  10. VS2010 C++ 操作Excel表格的编程实现

    转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html 通过VC实现对Excel表格的操作的方法有多种, ...

随机推荐

  1. Vue基础之v-if与v-show

    Show Time! 说再多不如直接上效果: (一)v-if <div id="app"> <div v-if="flag" class=&q ...

  2. 使用svg让页面自适应浏览器大小,整体等比缩放

    网页代码: <!DOCTYPE html> <html> <head> <style> body { margin:0; padding:0; widt ...

  3. Docker之Elastic Search&Kibana保姆级别安装

    Docker之Elastic Search&Kibana保姆级别安装: 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) ...

  4. JAVA的注释和变量名称

    1.注释 (1)单行注释为//..... 例://这是一行注释 (2)多行注释是/*.......... .............*/ 例:/*我是第一行注释 我是第二行注释 我是第三行注释*/ ( ...

  5. Oracle —— 对表数据操作的各种小Tip

    1.清空某表数据 TRUNCATE TABLE schema_name.table_name 例如:在名为test的schema下,有一张名为user的表,故此,可用TRUNCATE TABLE te ...

  6. JS form表单数据校验及失效情况下的解决方案

    如下图,当执行提交操作之前,我们需要对序号,要求完成时间,责任人,措施内容四项进行非空,字符长度及输入内容的类型进行校验. 直接贴样式代码 <div class="wrapper an ...

  7. JVM(二) --- JVM的内存结构

    写在文章前:本系列博客是学习黑马程序员JVM完整教程所做笔记,若有错误希望大佬们评论修正 一.概述 JVM的内存结构包括程序计数器(PC Register),虚拟机栈(JVM Stacks),堆内存( ...

  8. 解决gpg: 从公钥服务器接收失败:服务器故障

    xxx@xxx-virtual-machine:~/workspace/rv1126_rv1109_sdk$ sudo apt-key adv --keyserver hkp://keyserver. ...

  9. 关于XAF中ListView慢的总结与改善

    关于XAF中ListView慢的总结与改善: 一.数据访问模式改善:ListView中DataAccessMode中的改变:默认模式是Client,这在大多数情况下,适当的使用Server,Serve ...

  10. 2021-12-14 MobX分享

    MobX分享 文档地址: https://cn.mobx.js.org/ MobX是一种简单的.可扩展的状态管理,它通过透明的函数响应式编程使得状态管理变得简单和可扩展. React通过提供机制把应用 ...