C#操作WPS和office兼容性的问题

http://blog.csdn.net/yanpengliumin/article/details/50344799

最近一直在做的开发是关于导出word的功能,一开始的做法是在VS中直接添加引用office PIA,Microsoft.Office.Interop.Word,VS08有两个版本,V11和V12,V11对应的是office03,V12对应的office07,试验之后得出结论,这两个PIA的引用只会影响开发机器的使用,就是说要与开发机器的office版本相对应。在目标机器上都是可以使用的,没有问题。

接下来说一下关于PIA的事情,Primary Interop Assembly,中文解释为:主互程序操作集。通过查阅MSDN 可以了解到,VS在调用COM和COM+组件时会通过解析自动生成 Interop Assembly,即程序操作集,成为IA,这个IA包含我们代码中可以调用的COM的接口,属性一类的东西,可以这样理解,IA就是你的程序和COM组件之间的一个桥接。而PIA是.NET官方生成的IA,这个是开发者根据常用的COM组件生成的专门用于.NET运行环境的IA,具有更高的可靠性。到这一步,经过验证,任何word的操作只需引用.net环境的下

Microsoft.Office.Interop.Word组件,操作EXCEL需要引用.net环境下的Microsoft.Office.Interop.Excel组件。

关于word的实际操作代码可以查阅相应的API,在后面我会给出我的代码,主要涉及到操作页眉,设置字体,设置间距,插入表格等操作。

问题来了,销售人员反应有的客户不使用office,只使用WPS。我差点就问WPS是个什么鬼。还是自己查查资料看看中国人写的办公软件吧。WPS发展到目前最新版本为WPS2016。版本就有点多了  02、03 、05、07、10、 13 等等。作为程序员我只关心你的二次开发用的是什么,经过测试,WPS10之前的版本需要自己生成.net支持的IA,WPS2013有两个版本,个人版和企业版,个人版中没有提供PIA,企业版中提供了WPSOFFICEPIA.EXE生成工具,安装之后,就会生成.net环境下可以用的PIA。不知道什么原因,我的VS2008没有在“引用”中没有看到生成的PIA,个人猜测由于我的VS2008是破解版,所以看不到,没什么关系,可以自己找到,在“运行”中输入“C:\windows\assembly\gac-32”回车之后就可以进入一个文件目录,这个目录中就是所有的PIA程序,找到Kingsoft开头的目录,有8个,分别提供了word、excel 、ppt 等操作,每个类型各有两个版本,分别是V8和V9,通过分别引用之后,可以看出 V8是支持老版本WPS的API。例如可以用et.Application创建ET表格,用WPS.Application创建wps文档。V9版本就比较高级了。提供了对于office相同的操作dll。可以直接使用word.application创建word文档或者wps文档。网上有人说V9版本提供了Kwps.Application创建wps文档,我努力一番,也没有找到这种方法,不过目前来说只要V9兼容office对我来说就足够了。

接下来就是解决wps和office兼容的问题了,目标机器上有三种情况,一是安装了WPS,二是安装了office ,三是同时安装了office和wps。估计第三种也就是我这个开发人员会这么干!!为了兼容性,需要这么干,把office的PIA-->> Microsoft.Office.Interop.Word添加引用 把wps 的V9版PIA--->>Kingsoft.Office.Interop.Wpsapi添加引用,接下来在代码中直接用wps的方法创建word 并执行所有操作。OK !在这种情况下,当目标机器只安装了offcie时,由于V9版本的兼容性会直接生成word。为了可以兼容word03.我在代码中也做了一些其他的操作,可以参考。

上代码 !!!

[csharp] view plain copy

  1. private void ExportToWps()
  2. {
  3. try
  4. {
  5. string strFileName = label14.Text + "-" + label15.Text;
  6. string saveFileName = "";
  7. SaveFileDialog saveDialog = new SaveFileDialog();
  8. saveDialog.DefaultExt = "doc";
  9. saveDialog.Filter = "Word文件|*.doc";
  10. saveDialog.FileName = strFileName;
  11. saveDialog.ShowDialog();
  12. saveFileName = saveDialog.FileName;
  13. if (saveFileName.IndexOf(":") < 0) return; //被点了取消
  14. //   Word.ApplicationClass oWordApp = new Word.ApplicationClass();//建立Word   对象,启动word程序
  15. Word.Application oWordApp = new Word.Application();
  16. if (oWordApp == null)
  17. {
  18. MessageBox.Show("word版本错误!", "error");
  19. return;
  20. }
  21. object missing = System.Reflection.Missing.Value;
  22. object oTemplate = System.Windows.Forms.Application.StartupPath + "\\Normal.dot";
  23. Word.Document oWordDoc = oWordApp.Documents.Add(ref oTemplate, ref missing, ref missing, ref missing);//新建word文档
  24. oWordApp.Visible = false;//设置Word程序可见,如果为false   那么word不可见
  25. //页面设置
  26. oWordDoc.PageSetup.TopMargin = oWordApp.CentimetersToPoints(2.5f);       //上
  27. oWordDoc.PageSetup.BottomMargin = oWordApp.CentimetersToPoints(2f);//下
  28. oWordDoc.PageSetup.LeftMargin = oWordApp.CentimetersToPoints(2.2f);//左
  29. oWordDoc.PageSetup.RightMargin = oWordApp.CentimetersToPoints(2.2f);//右
  30. ////添加页眉   林总不需要
  31. //oWordDoc.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekCurrentPageHeader;   //激活页眉的编辑
  32. //oWordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;   //设置对齐方式
  33. //string headtext1 =PcaSettings.GetSettingString (101);
  34. //oWordApp.Selection.Font.Name = "宋体";   //设置字体
  35. //oWordApp.Selection.Font.Size = 10.5f;
  36. //oWordApp.Selection.Font.UnderlineColor = Microsoft.Office.Interop.Word.WdColor.wdColorAutomatic;
  37. //oWordApp.Selection.Font.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineNone;   //bu添加下划线
  38. //oWordApp.Selection.TypeText(headtext1);
  39. //oWordApp.Selection.Font.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineNone;
  40. //添加页脚
  41. string foottext1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  42. oWordDoc.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekCurrentPageFooter;   //激活页脚的编辑
  43. oWordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
  44. oWordApp.Selection.Font.Name = "仿宋_GB2312";
  45. oWordApp.Selection.Font.Size = 8;
  46. oWordApp.Selection.TypeText(foottext1);
  47. //添加正文
  48. oWordDoc.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekMainDocument;//激活页面内容的编辑
  49. oWordApp.Selection.Font.Name = "黑体";//标题使用黑体
  50. oWordApp.Selection.Font.Scaling = 100;//视图里面的比例控制
  51. //oWordApp.Selection.ParagraphFormat.LineSpacingRule = Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpaceSingle;
  52. oWordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
  53. oWordApp.Selection.Font.Size = 16;
  54. oWordApp.Selection.Font.Bold = 1;
  55. oWordApp.Selection.TypeText(label14.Text);//主标题
  56. oWordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
  57. oWordApp.Selection.TypeParagraph();//另起一段
  58. oWordApp.Selection.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle;
  59. oWordApp.Selection.TypeText(label15.Text);//副标题
  60. oWordApp.Selection.Font.Name = "宋体";
  61. oWordApp.Selection.TypeParagraph();//另起一段
  62. //oWordApp.Selection.TypeParagraph();//另起一段
  63. oWordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;
  64. oWordApp.Selection.Font.Size = 11;
  65. oWordApp.Selection.Font.Bold = 0;
  66. #region 项不加粗
  67. //oWordApp.Selection.TypeText(layoutControlItem3.Text + label6.Text); oWordApp.Selection.TypeText(",    ");
  68. //oWordApp.Selection.TypeText(layoutControlItem4.Text + label1.Text);
  69. //oWordApp.Selection.TypeParagraph();//另起一段
  70. //oWordApp.Selection.TypeText(layoutControlItem5.Text + label2.Text); oWordApp.Selection.TypeText(",    ");
  71. //oWordApp.Selection.TypeText(layoutControlItem6.Text + label3.Text);
  72. //oWordApp.Selection.TypeParagraph();//另起一段
  73. //oWordApp.Selection.TypeText(layoutControlItem7.Text + label4.Text); oWordApp.Selection.TypeText(",    ");
  74. //oWordApp.Selection.TypeText(layoutControlItem8.Text + label5.Text);
  75. //oWordApp.Selection.TypeParagraph();//另起一段
  76. //oWordApp.Selection.TypeText(layoutControlItem10.Text);
  77. ////oWordApp.Selection.TypeParagraph();//另起一段
  78. //oWordApp.Selection.TypeText(label10.Text);
  79. //SectDoc doc = GetDocument() as SectDoc;
  80. //if (doc.FileCount > 1)
  81. //{
  82. //    switch (doc.FileCount)
  83. //    {
  84. //        case 2:
  85. //            {
  86. //                oWordApp.Selection.TypeParagraph();//另起一段
  87. //                oWordApp.Selection.TypeText(layoutControlItem12.Text);
  88. //                oWordApp.Selection.TypeParagraph();//另起一段
  89. //                oWordApp.Selection.TypeText(label17.Text);
  90. //                oWordApp.Selection.TypeParagraph();//另起一段
  91. //                oWordApp.Selection.TypeText(layoutControlItem15.Text + label11.Text);
  92. //                if (label12.Visible)
  93. //                {
  94. //                    oWordApp.Selection.TypeText(layoutControlItem16.Text + label12.Text);
  95. //                }
  96. //                if (label13.Visible)
  97. //                {
  98. //                    oWordApp.Selection.TypeText(layoutControlItem18.Text+label13.Text);
  99. //                }
  100. //                oWordApp.Selection.TypeParagraph();//另起一段
  101. //                oWordApp.Selection.TypeText(label8.Text+";");
  102. //                oWordApp.Selection.TypeText(label9.Text);
  103. //                //oWordApp.Selection.TypeParagraph();//另起一段
  104. //                break;
  105. //            }
  106. //        case 3:
  107. //            {
  108. //                oWordApp.Selection.TypeParagraph();//另起一段
  109. //                oWordApp.Selection.TypeText(layoutControlItem12.Text);
  110. //                oWordApp.Selection.TypeParagraph();//另起一段
  111. //                oWordApp.Selection.TypeText(label17.Text);
  112. //                oWordApp.Selection.TypeParagraph();//另起一段
  113. //                oWordApp.Selection.TypeText(layoutControlItem14.Text);
  114. //                oWordApp.Selection.TypeParagraph();//另起一段
  115. //                oWordApp.Selection.TypeText(label19.Text);
  116. //                oWordApp.Selection.TypeParagraph();//另起一段
  117. //                oWordApp.Selection.TypeText(layoutControlItem15.Text + label11.Text);
  118. //                //oWordApp.Selection.TypeParagraph();//另起一段
  119. //                break;
  120. //            }
  121. //        default:
  122. //            break;
  123. //    }
  124. //}
  125. //else
  126. //{
  127. //    oWordApp.Selection.TypeParagraph();//另起一段
  128. //    oWordApp.Selection.TypeText(layoutControlItem15.Text + label11.Text); oWordApp.Selection.TypeText(", ");
  129. //    oWordApp.Selection.TypeText(layoutControlItem16.Text + label12.Text); oWordApp.Selection.TypeText(", ");
  130. //    oWordApp.Selection.TypeText(layoutControlItem18.Text + label13.Text); oWordApp.Selection.TypeText(", ");
  131. //    oWordApp.Selection.TypeParagraph();//另起一段
  132. //}
  133. #endregion
  134. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem3.Text);//加粗标题
  135. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label6.Text);//不加粗的值
  136. oWordApp.Selection.TypeText(",    ");//各项之间间隔
  137. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem4.Text);//加粗标题
  138. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label1.Text);//不加粗的值
  139. oWordApp.Selection.TypeText(",    ");//各项之间间隔
  140. oWordApp.Selection.TypeParagraph();//另起一段
  141. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem5.Text);//加粗标题
  142. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label2.Text);//不加粗的值
  143. oWordApp.Selection.TypeText(",    ");//各项之间间隔
  144. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem6.Text);//加粗标题
  145. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label3.Text);//不加粗的值
  146. oWordApp.Selection.TypeText(",    ");//各项之间间隔
  147. oWordApp.Selection.TypeParagraph();//另起一段
  148. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem7.Text);//加粗标题
  149. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label4.Text);//不加粗的值
  150. oWordApp.Selection.TypeText(",    ");//各项之间间隔
  151. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem8.Text);//加粗标题
  152. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label5.Text);//不加粗的值
  153. oWordApp.Selection.TypeText(",    ");//各项之间间隔
  154. oWordApp.Selection.TypeParagraph();//另起一段
  155. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem10.Text);//加粗标题
  156. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label10.Text);//不加粗的值
  157. SectDoc doc = GetDocument() as SectDoc;
  158. if (doc.FileCount > 1)
  159. {
  160. switch (doc.FileCount)
  161. {
  162. case 2:
  163. {
  164. oWordApp.Selection.TypeParagraph();//另起一段
  165. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem12.Text);//加粗标题
  166. //oWordApp.Selection.TypeParagraph();//另起一段
  167. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label17.Text);//不加粗的值
  168. oWordApp.Selection.TypeParagraph();//另起一段
  169. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem15.Text);//加粗标题
  170. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label11.Text);//不加粗的值
  171. oWordApp.Selection.TypeText(",    ");//各项之间间隔
  172. if (label12.Visible)
  173. {
  174. oWordApp.Selection.TypeText(layoutControlItem16.Text + label12.Text);
  175. }
  176. if (label13.Visible)
  177. {
  178. oWordApp.Selection.TypeText(layoutControlItem18.Text + label13.Text);
  179. }
  180. //oWordApp.Selection.TypeParagraph();//另起一段
  181. break;
  182. }
  183. case 3:
  184. {
  185. oWordApp.Selection.TypeParagraph();//另起一段
  186. oWordApp.Selection.TypeText(layoutControlItem12.Text);
  187. oWordApp.Selection.TypeParagraph();//另起一段
  188. oWordApp.Selection.TypeText(label17.Text);
  189. oWordApp.Selection.TypeParagraph();//另起一段
  190. oWordApp.Selection.TypeText(layoutControlItem14.Text);
  191. oWordApp.Selection.TypeParagraph();//另起一段
  192. oWordApp.Selection.TypeText(label19.Text);
  193. oWordApp.Selection.TypeParagraph();//另起一段
  194. oWordApp.Selection.TypeText(layoutControlItem15.Text + label11.Text);
  195. //oWordApp.Selection.TypeParagraph();//另起一段
  196. break;
  197. }
  198. default:
  199. break;
  200. }
  201. }
  202. else
  203. {
  204. oWordApp.Selection.TypeParagraph();//另起一段
  205. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem15.Text);//加粗标题
  206. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label11.Text);//不加粗的值
  207. oWordApp.Selection.TypeText(",    ");//各项之间间隔
  208. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem16.Text);//加粗标题
  209. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label12.Text);//不加粗的值
  210. oWordApp.Selection.TypeText(",    ");//各项之间间隔
  211. oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem18.Text);//加粗标题
  212. oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label13.Text);//不加粗的值
  213. //oWordApp.Selection.TypeParagraph();//另起一段
  214. }
  215. oWordApp.Selection.Font.Size = 11.5f;
  216. //表插入行
  217. object start = oWordApp.Selection.Start;//在内容的最后插入表格
  218. object end = oWordApp.Selection.End; ;
  219. Word.Range tableLocation = oWordDoc.Range(ref start, ref end);
  220. oWordDoc.Tables.Add(tableLocation, dataGridView1.RowCount + 1, dataGridView1.ColumnCount, ref missing, ref missing);
  221. Word.Table newTable = oWordDoc.Tables[1];
  222. //设置表格的格式
  223. newTable.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;//内实体边框
  224. newTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;//外实体边框
  225. newTable.AllowAutoFit = true;
  226. newTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitContent);
  227. //写入标题
  228. for (int i = 0; i < dataGridView1.ColumnCount; i++)
  229. {
  230. newTable.Cell(1, i + 1).Range.Text = dataGridView1.Columns[i].HeaderText;
  231. }
  232. //写入数值
  233. for (int r = 0; r < dataGridView1.Rows.Count; r++)
  234. {
  235. for (int i = 0; i < dataGridView1.ColumnCount; i++)
  236. {
  237. //电阻计算
  238. if (dataGridView1.Rows[r].Cells[i].Value == null)
  239. {
  240. newTable.Cell(r + 2, i + 1).Range.Text = "";
  241. }
  242. else
  243. {
  244. newTable.Cell(r + 2, i + 1).Range.Text = dataGridView1.Rows[r].Cells[i].Value.ToString();
  245. }
  246. if (i == 6)
  247. {
  248. newTable.Cell(r + 2, i + 1).Range.ParagraphFormat.Alignment =Word.WdParagraphAlignment.wdAlignParagraphCenter;
  249. }
  250. else if (i == 7)
  251. {
  252. }
  253. else
  254. {
  255. newTable.Cell(r + 2, i + 1).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight;
  256. }
  257. }
  258. System.Windows.Forms.Application.DoEvents();
  259. }
  260. object wdUnits;
  261. wdUnits = Word.WdUnits.wdLine;
  262. object nCount = dataGridView1.RowCount + 1+1;
  263. oWordApp.Selection.MoveDown(ref wdUnits, ref nCount, ref missing);
  264. oWordApp.Selection.Font.Size = 12;
  265. oWordApp.Selection.Font.Bold = 1;//防腐层和综合等级项加粗显示
  266. oWordApp.Selection.TypeText(label8.Text); oWordApp.Selection.TypeText(", ");
  267. oWordApp.Selection.TypeText(label9.Text);
  268. string strfilename = saveFileName;
  269. object filename = strfilename;
  270. //保存文档为word2000格式
  271. oWordDoc.SaveAs2000(ref   filename, ref   missing, ref   missing, ref   missing, ref   missing, ref   missing, ref   missing, ref   missing, ref   missing, ref   missing, ref   missing);
  272. MessageBox.Show(strFileName + "导出成功", "提示", MessageBoxButtons.OK);
  273. //以下关闭Word程序
  274. object nochanges = Word.WdSaveOptions.wdDoNotSaveChanges;
  275. oWordApp.Quit(ref   nochanges, ref   missing, ref   missing);
  276. }
  277. catch (Exception ex)
  278. {
  279. MessageBox.Show(ex.Message);
  280. }
  281. }
时间: 2024-10-13 18:07:54

C#操作WPS和office兼容性的问题的相关文章

C#保存wps和office表格.数据源为list&lt;T&gt;类型

想要操作wps或office表格需要引入相对应的dll,office好找,wps在扩展中找到kingsoft的一些dll. 其中通过特性描述来获取泛型的中文名. 具体实现代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Reflection;using System.IO; using ET;using Microsoft.Office.Inter

同是办公软件,wps和office有什么区别?

今天完美小编为大家带来的是wps和office有什么区别教程,那么到底有什么区别呢?相信很多朋友都模棱两可,说不出所以然,看看下面的教程,相信你会选择更适合你的那一款软件.一起来看看吧! 1.两者特点 WPS是新兴的一款国内OFFICE软件,以其美观大方,界面清晰,软件小巧,操作适合国人习惯而风靡.微软OFFICE则秉承微软软件的强大,办公处理能力强大而著称. 2.差别 对于差别我只提大家最关心的,那就是他们在"办公功能"上基本无差,所以选择这两款软件的原因不在于它的功能,而在于其他细

WPS 操作Word 替代Office的功能

private void RunWps_Click(object sender, EventArgs e)         { object myMissing = System.Reflection.Missing.Value; WPS.Application WpsApp = new WPS.ApplicationClass();             WpsApp.Visible = true;             WpsApp.WindowState = WPS.WpsWindow

【xlwings】 wps 和 office 的excel creat_sheet区别

最近在学习 xlwings,参考学习的网址:https://www.jianshu.com/p/b534e0d465f7 写得很棒,学到了很多. 在新建sheet表单, 发现一个问题. import xlwings as xw def creat_sheet(path, sheet=None, before=None): ''' :param path: excel file path :param sheet: the name of which creating the sheet, cou

ubuntu安装WPS替代office

安装 1.下载地址:http://community.wps.cn/download/(去WPS官网下载) 下载第一个即可 2.执行安装命令: sudo dpkg -i wps-office_10.1.0.5672~a21_amd64.deb 解决字体缺失问题 1.下载:http://vdisk.weibo.com/s/ajLw30suHpSUg?from=page_100505_profile&wvr=6 2.创建目录: sudo mkdir /usr/share/fonts/wps-offi

WPS和Office压缩word文档图片大小

来自为知笔记(Wiz)

微软Office与金山WPS Office有何私密关系?

新浪科技讯,9月1日午间消息,国家工商总局在其官网公布消息称.对微软公司副总裁陈实进行反垄断调查询问,要求微软就其综合情况以及企业反映的微软公司Windows操作系统和Office办公软件相关信息没有全然公开造成的兼容性问题等相关问题,在20日内做出书面说明. 经过查证.陈实1981年毕业于上海华东师范大学数学系.获得理科学士学位.他还获得美国普渡大学数学与电子project硕士学位.密歇根大学电子project与计算机博士学位以及斯坦福大学(斯隆)管理学院管理学硕士学位. 国家工商总局对微软副

如何通过WPS 2013 API 将Office(Word、Excel和PPT)文件转PDF文件

1. 描述 PDF 文件是一种便携文件格式,是由Adobe公司所开发的独特的跨平台文件格式.PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符.颜色以及图象.可移植文档格式,也称为"便携文档格式",是一种电子文件格式.这种文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还是在苹果公司的Mac OS操作系统中都是通用的.这一特点使它成为在Internet上进行电子文

WPS转Excel的操作步骤

WPS转换成Excel怎么操作?我们知道WPS转Excel的操作步骤吗?其实我们在工作中不想使用WPS文件,就可以直接转换成office文件进行操作,Excel文档就是office文件中的一种格式,下面就是WPS转Excel的操作步骤,赶紧看一下吧. 1:在浏览器搜索迅捷PDF在线转换器,点击进入到网站的首页. 2:在网站首页导航栏的位置找到文档转换,点击文档转换就会看到WPS转office,点击进入转换页面. 3:进入转换页面后,点击选择文件,选择需要进行WPS转换Word的文件,更改下面的各