C#向word文档动态插入数据并打印预览

时间:2015-03-21 05:08:05
【文件属性】:

文件名称:C#向word文档动态插入数据并打印预览

文件大小:7KB

文件格式:CS

更新时间:2015-03-21 05:08:05

C# 动态插入数据 打印 预览

首先机子上安装有office,在COM中添加引用Microsoft.Word.11.0.Object.Library(或11.0以上) Microsoft.Office.Interop.Word.Application myWordApp = null; Microsoft.Office.Interop.Word.Document doc = null; object Filename = path + "\\" + TaskID + ".docx";//目的文件 object templateFile = System.Windows.Forms.Application.StartupPath + @"\Template.docx";//模板文件,有一个五列一行的表 System.IO.File.Copy(templateFile.ToString(), Filename.ToString(), true);//模板WORD中有一个五列的表头,分别是卡号,串口号,发送指令条数,接收指令条数,收发成功率 myWordApp = new Microsoft.Office.Interop.Word.Application(); doc = myWordApp.Documents.Open(ref Filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing); /////显示页码 object oAlignment = Microsoft.Office.Interop.Word.WdPageNumberAlignment.wdAlignPageNumberCenter; object oFirstPage = true; oAlignment = Microsoft.Office.Interop.Word.WdPageNumberAlignment.wdAlignPageNumberCenter; myWordApp.Selection.Sections[1].Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add(ref oAlignment, ref oFirstPage); myWordApp.Selection.Sections[1].Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.NumberStyle = Microsoft.Office.Interop.Word.WdPageNumberStyle.wdPageNumberStyleNumberInDash; for (int i = 2; i < 102; i++)//举例100台 { doc.Tables[1].Rows.Add(ref Nothing);//表格增加一行 doc.Tables[1].Cell(i, 1).Range.Text = "250297";//卡号 doc.Tables[1].Cell(i, 2).Range.Text = "COM12";//串口号 doc.Tables[1].Cell(i, 3).Range.Text = "100";//发送指令条数 doc.Tables[1].Cell(i, 4).Range.Text = "99";//接收指令条数 doc.Tables[1].Cell(i, 5).Range.Text = "99%";//收发成功率 } doc.SaveAs(ref Filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing); object savechanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;//不保存挂起的更改 ////下面是直接打印,文档不显示 //doc.PrintOut(ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing); object readOnly=false; object isVisable = true;////文档打开状态为可视 doc = myWordApp.Documents.Open(ref Filename, ref Nothing, ref readOnly, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref isVisable, ref Nothing, ref Nothing, ref Nothing, ref Nothing); doc.PrintPreview();//打印预览


网友评论

  • C#向word文档动态插入数据并打印预览 还不错,可以用
  • 说实在的 简单明了还行 能用
  • 感谢楼主分享资源
  • 感谢楼主分享资源
  • 还可以,简单,明了
  • 简单,明了,就一个文件,一个功能,可用 ,是直接调用自带office的方法来预览,anyway谢谢楼主分享资源
  • 其实就一句代码的事,都是直接调用自带office的方法来预览,anyway谢谢楼主分享资源
  • 好用,给了我很大帮助
  • 非常好用,很快就帮助我实现了项目的功能。
  • 还不错,还是有点收获,又学了点
  • 说实在的 简单明了还行 能用
  • 一般,需要依赖office库。
  • 简单,明了,就一个文件,一个功能,可用
  • 还可以,就是感觉有点乱
  • 可以用。里边有好多计算点是我不熟悉的,值得学习。谢谢了
  • 简单,明了,就一个文件,一个功能,可用
  • 简单,明1了,就1一个文件
  • 结合了另外一个word打印的例子完成了我的打印需求。得到帮组
  • 可用,但说实在的,速度太慢
  • 代码包估计丢失,无法下载,请管理员排查一下
  • 经测试能打开word文档,并在书签Tester和Time处添加文字,另外还会在第一个单列5行的表格里面添加文字,至于预览因为要在100*5个单元格内填入内容,根据计算机配置不同大概等好10秒左右才会弹出word的预览窗口。
  • 研究了一下代码,执行到printPreview的时候没有反应,不知道有没有人和我遇到一样的问题?
  • 很不错,值得参考
  • 简单,明了,就一个文件,一个功能,可用
  • 学习了,谢谢分享,对我很有帮助。
  • 这个不错,可用
  • 资源不错有帮助
  • 学习一下,谢谢
  • 学习,研究,提高自己。
  • 这样写有点复杂,而且需要11.0 没有就不能用,局限太多