关于C#操作WPS和office兼容性的问题
private void ExportToWps(){try{string strFileName = label14.Text + "-" + label15.Text;string saveFileName = "";SaveFileDialog saveDialog = new SaveFileDialog();saveDialog.DefaultExt = "doc";saveDialog.Filter = "Word文件|*.doc";saveDialog.FileName = strFileName;saveDialog.ShowDialog();saveFileName = saveDialog.FileName;if (saveFileName.IndexOf(":") < 0) return; //被点了取消 // Word.ApplicationClass oWordApp = new Word.ApplicationClass();//建立Word 对象,启动word程序 Word.Application oWordApp = new Word.Application();if (oWordApp == null){MessageBox.Show("word版本错误!", "error");return;}object missing = System.Reflection.Missing.Value;object oTemplate = System.Windows.Forms.Application.StartupPath + "\\Normal.dot";Word.Document oWordDoc = oWordApp.Documents.Add(ref oTemplate, ref missing, ref missing, ref missing);//新建word文档 oWordApp.Visible = false;//设置Word程序可见,如果为false 那么word不可见 //页面设置 oWordDoc.PageSetup.TopMargin = oWordApp.CentimetersToPoints(2.5f); //上 oWordDoc.PageSetup.BottomMargin = oWordApp.CentimetersToPoints(2f);//下 oWordDoc.PageSetup.LeftMargin = oWordApp.CentimetersToPoints(2.2f);//左 oWordDoc.PageSetup.RightMargin = oWordApp.CentimetersToPoints(2.2f);//右 添加页眉 林总不需要//oWordDoc.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekCurrentPageHeader; //激活页眉的编辑 //oWordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft; //设置对齐方式 //string headtext1 =PcaSettings.GetSettingString (101);//oWordApp.Selection.Font.Name = "宋体"; //设置字体 //oWordApp.Selection.Font.Size = 10.5f;//oWordApp.Selection.Font.UnderlineColor = Microsoft.Office.Interop.Word.WdColor.wdColorAutomatic;//oWordApp.Selection.Font.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineNone; //bu添加下划线 //oWordApp.Selection.TypeText(headtext1);//oWordApp.Selection.Font.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineNone;//添加页脚 string foottext1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");oWordDoc.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekCurrentPageFooter; //激活页脚的编辑 oWordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;oWordApp.Selection.Font.Name = "仿宋_GB2312";oWordApp.Selection.Font.Size = 8;oWordApp.Selection.TypeText(foottext1);//添加正文 oWordDoc.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekMainDocument;//激活页面内容的编辑 oWordApp.Selection.Font.Name = "黑体";//标题使用黑体oWordApp.Selection.Font.Scaling = 100;//视图里面的比例控制//oWordApp.Selection.ParagraphFormat.LineSpacingRule = Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpaceSingle;oWordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;oWordApp.Selection.Font.Size = 16;oWordApp.Selection.Font.Bold = 1;oWordApp.Selection.TypeText(label14.Text);//主标题oWordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.ParagraphFormat.LineSpacingRule = Word.WdLineSpacing.wdLineSpaceSingle;oWordApp.Selection.TypeText(label15.Text);//副标题oWordApp.Selection.Font.Name = "宋体";oWordApp.Selection.TypeParagraph();//另起一段 //oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft;oWordApp.Selection.Font.Size = 11;oWordApp.Selection.Font.Bold = 0;#region 项不加粗//oWordApp.Selection.TypeText(layoutControlItem3.Text + label6.Text); oWordApp.Selection.TypeText(", ");//oWordApp.Selection.TypeText(layoutControlItem4.Text + label1.Text);//oWordApp.Selection.TypeParagraph();//另起一段 //oWordApp.Selection.TypeText(layoutControlItem5.Text + label2.Text); oWordApp.Selection.TypeText(", ");//oWordApp.Selection.TypeText(layoutControlItem6.Text + label3.Text);//oWordApp.Selection.TypeParagraph();//另起一段 //oWordApp.Selection.TypeText(layoutControlItem7.Text + label4.Text); oWordApp.Selection.TypeText(", ");//oWordApp.Selection.TypeText(layoutControlItem8.Text + label5.Text);//oWordApp.Selection.TypeParagraph();//另起一段 //oWordApp.Selection.TypeText(layoutControlItem10.Text);oWordApp.Selection.TypeParagraph();//另起一段 //oWordApp.Selection.TypeText(label10.Text);//SectDoc doc = GetDocument() as SectDoc;//if (doc.FileCount > 1)//{// switch (doc.FileCount)// {// case 2:// {// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(layoutControlItem12.Text);// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(label17.Text);// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(layoutControlItem15.Text + label11.Text);// if (label12.Visible)// {// oWordApp.Selection.TypeText(layoutControlItem16.Text + label12.Text);// }// if (label13.Visible)// {// oWordApp.Selection.TypeText(layoutControlItem18.Text+label13.Text);// }// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(label8.Text+";");// oWordApp.Selection.TypeText(label9.Text);// //oWordApp.Selection.TypeParagraph();//另起一段 // break;// }// case 3:// {// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(layoutControlItem12.Text);// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(label17.Text);// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(layoutControlItem14.Text);// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(label19.Text);// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(layoutControlItem15.Text + label11.Text);// //oWordApp.Selection.TypeParagraph();//另起一段// break;// }// default:// break;// }//}//else//{// oWordApp.Selection.TypeParagraph();//另起一段 // oWordApp.Selection.TypeText(layoutControlItem15.Text + label11.Text); oWordApp.Selection.TypeText(", ");// oWordApp.Selection.TypeText(layoutControlItem16.Text + label12.Text); oWordApp.Selection.TypeText(", ");// oWordApp.Selection.TypeText(layoutControlItem18.Text + label13.Text); oWordApp.Selection.TypeText(", ");// oWordApp.Selection.TypeParagraph();//另起一段//}#endregionoWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem3.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label6.Text);//不加粗的值oWordApp.Selection.TypeText(", ");//各项之间间隔oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem4.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label1.Text);//不加粗的值oWordApp.Selection.TypeText(", ");//各项之间间隔oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem5.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label2.Text);//不加粗的值oWordApp.Selection.TypeText(", ");//各项之间间隔oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem6.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label3.Text);//不加粗的值oWordApp.Selection.TypeText(", ");//各项之间间隔oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem7.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label4.Text);//不加粗的值oWordApp.Selection.TypeText(", ");//各项之间间隔oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem8.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label5.Text);//不加粗的值oWordApp.Selection.TypeText(", ");//各项之间间隔oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem10.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label10.Text);//不加粗的值SectDoc doc = GetDocument() as SectDoc;if (doc.FileCount > 1){switch (doc.FileCount){case 2:{oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem12.Text);//加粗标题//oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label17.Text);//不加粗的值oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem15.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label11.Text);//不加粗的值oWordApp.Selection.TypeText(", ");//各项之间间隔if (label12.Visible){oWordApp.Selection.TypeText(layoutControlItem16.Text + label12.Text);}if (label13.Visible){oWordApp.Selection.TypeText(layoutControlItem18.Text + label13.Text);}//oWordApp.Selection.TypeParagraph();//另起一段 break;}case 3:{oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.TypeText(layoutControlItem12.Text);oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.TypeText(label17.Text);oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.TypeText(layoutControlItem14.Text);oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.TypeText(label19.Text);oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.TypeText(layoutControlItem15.Text + label11.Text);//oWordApp.Selection.TypeParagraph();//另起一段break;}default:break;}}else{oWordApp.Selection.TypeParagraph();//另起一段 oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem15.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label11.Text);//不加粗的值oWordApp.Selection.TypeText(", ");//各项之间间隔oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem16.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label12.Text);//不加粗的值oWordApp.Selection.TypeText(", ");//各项之间间隔oWordApp.Selection.Font.Bold = 1; oWordApp.Selection.TypeText(layoutControlItem18.Text);//加粗标题oWordApp.Selection.Font.Bold = 0; oWordApp.Selection.TypeText(label13.Text);//不加粗的值//oWordApp.Selection.TypeParagraph();//另起一段 }oWordApp.Selection.Font.Size = 11.5f;//表插入行object start = oWordApp.Selection.Start;//在内容的最后插入表格object end = oWordApp.Selection.End; ;Word.Range tableLocation = oWordDoc.Range(ref start, ref end);oWordDoc.Tables.Add(tableLocation, dataGridView1.RowCount + 1, dataGridView1.ColumnCount, ref missing, ref missing);Word.Table newTable = oWordDoc.Tables[1];//设置表格的格式newTable.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;//内实体边框newTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle;//外实体边框newTable.AllowAutoFit = true;newTable.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitContent);//写入标题for (int i = 0; i < dataGridView1.ColumnCount; i++){newTable.Cell(1, i + 1).Range.Text = dataGridView1.Columns[i].HeaderText;}//写入数值for (int r = 0; r < dataGridView1.Rows.Count; r++){for (int i = 0; i < dataGridView1.ColumnCount; i++){//电阻计算 if (dataGridView1.Rows[r].Cells[i].Value == null){newTable.Cell(r + 2, i + 1).Range.Text = "";}else{newTable.Cell(r + 2, i + 1).Range.Text = dataGridView1.Rows[r].Cells[i].Value.ToString();}if (i == 6){newTable.Cell(r + 2, i + 1).Range.ParagraphFormat.Alignment =Word.WdParagraphAlignment.wdAlignParagraphCenter;}else if (i == 7){}else{newTable.Cell(r + 2, i + 1).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight;}}System.Windows.Forms.Application.DoEvents();}object wdUnits;wdUnits = Word.WdUnits.wdLine;object nCount = dataGridView1.RowCount + 1+1;oWordApp.Selection.MoveDown(ref wdUnits, ref nCount, ref missing);oWordApp.Selection.Font.Size = 12;oWordApp.Selection.Font.Bold = 1;//防腐层和综合等级项加粗显示oWordApp.Selection.TypeText(label8.Text); oWordApp.Selection.TypeText(", ");oWordApp.Selection.TypeText(label9.Text);string strfilename = saveFileName;object filename = strfilename;//保存文档为word2000格式 oWordDoc.SaveAs2000(ref filename, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);MessageBox.Show(strFileName + "导出成功", "提示", MessageBoxButtons.OK);//以下关闭Word程序 object nochanges = Word.WdSaveOptions.wdDoNotSaveChanges;oWordApp.Quit(ref nochanges, ref missing, ref missing);}catch (Exception ex){MessageBox.Show(ex.Message);}}
关于C#操作WPS和office兼容性的问题相关推荐
- 艰难抉择,WPS和Office哪个好?
WPS是一个办公软件,它拥有完整的文字.表格.演示文稿功能,同时支持PPT.WORD.Excel等文件格式,使用也很方便.Office办公软件是全球最受欢迎的办公软件,Office软件由微软公司研发, ...
- OFFICE兼容性分析
办公软件Office调查分析 一.省公司本部使用Office情况 版本 占用比例 备注 MS Office 2000 80% MS Office XP(2002) 3% MS Office 2003 ...
- 关于VS兼容WPS和OFFICE的问题
最近一直在做的开发是关于导出word的功能,一开始的做法是在VS中直接添加引用office PIA,Microsoft.Office.Interop.Word,VS08有两个版本,V11和V12,V1 ...
- 同是办公软件,wps和office有什么区别?
今天完美小编为大家带来的是wps和office有什么区别教程,那么到底有什么区别呢?相信很多朋友都模棱两可,说不出所以然,看看下面的教程,相信你会选择更适合你的那一款软件.一起来看看吧! 1.两者特点 ...
- access和wps哪个一样_同是办公软件,wps跟office有什么区别
时 间:2017-08-09 13:20:46 作 者:摘 要:看完这篇教程相信你也对这两款软件有了清楚的认识,究竟哪一款适合你,还是要你自己去选择. 正 文: 1.两者特点 WPS是新兴的一款国内O ...
- wps和office哪个好用 wps和office兼容吗
wps和office是两款常见的办公软件,它们的功能非常相似,但在细节上又有着千差万别,因此很多人在初期都不知道如何选择,有些小伙伴则选择同时使用这两款软件,那么wps和office哪个好用,wps和 ...
- excel怎么启用宏_轻便免费的Excel合并工具,支持wps和office全系统
Excel合并工具绿色程序版是一款由吾爱网友ermituofo分享制作的Excel合并软件,软件支持wps和office全系统,很多用户发表格给其他用户之后自己要使用合并处理就很麻烦,有了这个工具,就 ...
- java poi wps_POI操作WPS表格POI操作WPS表格.docx
POI操作WPS表格POI操作WPS表格 原文网址:/thread1-1.htmlWps二次开发--POI入门教程一.POI的介绍Apache POI是Apache软件基金会的开放源码函式库,POI提 ...
- wsp可以编辑html吗,wps和office兼容吗
wps和office兼容,但正常情况下只有WPS可以兼容WORD,WORD不能兼容WPS文件,如果想要实现两者的完美兼容,需要做好相关设置. 本文环境:windows10系统.thinkpad t48 ...
- java根据模板生成wps_2019-07-09_Java通过JACOB操作WPS记录
Java通过JACOB操作WPS记录 1概述 JACOB-JavaCOMBridge标准的操作word.excel工具包.用户本地系统中安装Word的应用程序可选(office.wps有其一即可). ...
最新文章
- Django Rest Framework
- ubuntu下python的错误
- web 服务器 内存 影响_工业环境软件套件 CODESYS web 服务器被曝严重的RCE漏洞
- Portal-Basic Java Web应用开发框架V3.0正式发布(源码、实例及文档)
- [linux]查看文件编码和编码转换
- 获取手机本地的图片或者照相机照像的图片 为头像
- lightoj1213推公式
- CKEditor设置背景图片及宽高
- Linux网站搭建(3)---内网网站发布到外网(转)
- 卡牌大师怎么玩_LOL卡牌大师技巧 卡牌大师攻略
- Vue的开发常用的工具有哪些?
- 软件需求功能测试用例,软件测试用例与需求的对应关系
- Form 电子表格(JTF GRID)
- figma对比sketch有什么优势和不足?
- 软件测试中的集成测试到底是什么?集成的方法又有哪些?
- linux虚拟机扩展磁盘
- VLDB 2010 论文写作和格式 format 投稿
- TeamViewe远程桌面软件连接移动设备的控制面板教程
- 解决IDEA gradle build失败方法
- STM32F407作主机读写U盘(stm32_f105-07_f2_f4_usb-host-device_lib_V2.2.1及FatFs的R0.13C移植)