c#操作word模板插入文字、图片及表格.doc_第1页
c#操作word模板插入文字、图片及表格.doc_第2页
c#操作word模板插入文字、图片及表格.doc_第3页
c#操作word模板插入文字、图片及表格.doc_第4页
c#操作word模板插入文字、图片及表格.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c#操作word模板插入文字、图片及表格 1.建立word模板文件 person.dot用书签 标示相关字段的填充位置2.建立web应用程序 加入Microsoft.Office.Interop.Word引用具体添加引用请参看/china/msdn/library/office/office/OfficePrIntopAssFAQ.mspx?mfr=true3.相关示例代码protected void CreateReport_Click(object sender, EventArgs e) Microsoft.Office.Interop.Word.Application appWord = null;/应用程序 Microsoft.Office.Interop.Word.DocumentClass doc = null;/文档 try appWord = new Microsoft.Office.Interop.Word.Application(); appWord.Visible = false; object objTrue = true; object objFalse = false; object objTemplate = Server.MapPath(person.dot);/模板路径 object objDocType = WdDocumentType.wdTypeDocument; doc = (DocumentClass)appWord.Documents.Add(ref objTemplate, ref objFalse, ref objDocType,ref objTrue); /第一步生成word文档 /定义书签变量 object obDD_Name = bm_Name;/姓 名 object obDD_Sex = bm_Sex;/性 别 object obDD_Birthday = bm_Birthday; /出生年月 object obpic=pic; object obtable = obtable; object Nothing = System.Reflection.Missing.Value; /InlineShape shape = appWord.Selection.InlineShapes.AddPicture(F:Picture_DSC1602.JPG, ref Nothing, ref Nothing, ref Nothing); /第二步 读取数据,填充数据集 System.Data.DataTable dt = new DataTable(); dt.Columns.Add(p_Name); dt.Columns.Add(p_Sex); dt.Columns.Add(p_Birthday); DataRow dr = dt.NewRow(); drp_Name = 张三; drp_Sex = 男; drp_Birthday = 1980-01-01; dt.Rows.Add(dr); /第三步 给书签赋值 /给书签赋值 doc.Bookmarks.get_Item(ref obDD_Name).Range.Text = dt.Rows0p_Name.ToString(); /姓 名 doc.Bookmarks.get_Item(ref obDD_Sex).Range.Text = dt.Rows0p_Sex.ToString();/性 别 doc.Bookmarks.get_Item(ref obDD_Birthday).Range.Text = dt.Rows0p_Birthday.ToString();/年龄 doc.Bookmarks.get_Item(ref obpic).Range.InlineShapes.AddPicture(F:Picture_DSC1602.JPG, ref Nothing, ref Nothing, ref Nothing); /文档中插入表格 /doc.Bookmarks.get_Item(ref obtable).Range.Tables.Add(doc.Bookmarks.get_Item(ref obtable).Range, 12, 3, ref Nothing, ref Nothing); Microsoft.Office.Interop.Word.Table newTable = doc.Tables.Add(doc.Bookmarks.get_Item(ref obtable).Range, 12, 3, ref Nothing, ref Nothing); newTable.Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle; newTable.Borders.InsideLineStyle = WdLineStyle.wdLineStyleSingle; /给文档的最后一行再添加内容 doc.Paragraphs.Last.Range.Text = ; /第四步 生成word object filename = Server.MapPath() + BG + dt.Rows0p_Name.ToString() + .doc; object miss = System.Reflection.Missing.Value; doc.SaveAs(ref filename, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss); object missingValue = Type.Missing; object doNotSaveChanges = WdSaveOptions.wdDoNotSaveChanges; doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue); appWord.Application.Quit(ref miss, ref miss, ref miss); doc = null; appWord = null; catch (System.Exception ex) /捕捉异常,如果出现异常则清空实例,退出word,同时释放资源 string aa = ex.ToString(); object miss = System.Reflection.Missing.Value; object missingValue = Type.Missing; object doNotSaveChanges = WdSaveOptions.wdDoNotSaveChanges; doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue); appWord.Application.Quit(ref miss, ref miss, ref miss); doc = null; appWord = null; -以上代码在运行时 如遭遇80070005错误解决方法一:控制面板管理工具组件服务计算机我的电脑DCom配置找到Microsoft Word文档之后单击属性打开此应用程序的属性对话框。 2. 单击标识选项卡,然后选择交互式用户。 3.单击安全选项卡,分别在启动和激活权限和访问权限组中选中自定义,然后自定义-编辑-添加ASP.NET账户和IUSER_计算机名4. 确保允许每个用户访问,然后单击确定。 5. 单击确定关闭 DCOMCNFG。解决方法二:如果上述方法不能解决问题,就应该是权限问题,请尝试用下面的方法:在web.config中使用身份模拟,在节中加入 参考文档:/view/fc8aa56fb84ae45c3b358c98.html附:图片的详细操作object filename = C:InetpubwwwrootTestWebApptest.doc;/文件名 Word.Application a = new Word.ApplicationClass();/建立一个Word程序对像 object Nothing = System.Reflection.Missing.Value;/空值 Word.Document b = a.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);/建立一个Word文档对像 /其实这步就是执行了这个宏 InlineShape shape = a.Selection.InlineShapes.AddPicture(C:Documents and SettingsAdministrator桌面2003121512223366481.jpg,ref Nothing,ref Nothing,ref Nothing); shape.Height = InchesToPoints(0.5) shape.Width = InchesToPoints(0.5) /Selection.InlineShapes.AddPicture FileName:= C:Documents and SettingsAdministrator桌面2003121512223366481.bmp, LinkToFile:=False, SaveWithDocument:=True End Sub b.Save();/保存 b.Close(ref Nothing,ref Nothing,ref Nothing);/关闭Word文档 a.Quit(ref Nothing,ref Nothing,ref Nothing);/退出Word程序c#向word中指定的书签写数据(2010-11-17 13:48:56) 转载标签: word标签写数据杂谈分类: c# using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;/using System.Web.UI.HTMLControls;/using Microsoft.office;using Microsoft.Office.Core;using Microsoft.Office.Interop;using Microsoft.Office.Interop.Word;namespace common public class WriteInWord ApplicationClass app = null;/定义应用程序对象 Document doc = null; /定义word文档对象 Object missing = System.Reflection.Missing.Value;/定义空变量 Object isReadOnly = false; public void OpenDocument(string parFilePath) object filePath = parFilePath;/文档路径 app = new ApplicationClass(); /打开文档 doc = app.Documents.Open(ref filePath, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); doc.Activate();/激活文档 / / 向word文档写入数据 / / 域标签 / 写入域中的内容 public void WriteIntoDocument(string parLableName, string parFillName) object lableName = parLableN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论