c#创建word

问题描述

publicboolCreateWordFile(string_filename,"数据List或者你C#要写的数据"){#region开始生成Wordtry{stringstrtitle="任务导出";objectoEndOfDoc="\endofdoc";ObjectNothing=System.Reflection.Missing.Value;Objectfilename=_filename;//创建Word文档Microsoft.Office.Interop.Word.ApplicationWordApp=newMicrosoft.Office.Interop.Word.ApplicationClass();Microsoft.Office.Interop.Word.DocumentWordDoc=WordApp.Documents.Add(refNothing,refNothing,refNothing,refNothing);//设置页眉WordApp.ActiveWindow.View.Type=Microsoft.Office.Interop.Word.WdViewType.wdOutlineView;WordApp.ActiveWindow.View.SeekView=Microsoft.Office.Interop.Word.WdSeekView.wdSeekPrimaryHeader;WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("WPFOA任务导出");WordApp.Selection.ParagraphFormat.Alignment=Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;//设置右对齐WordApp.ActiveWindow.View.SeekView=Microsoft.Office.Interop.Word.WdSeekView.wdSeekMainDocument;//跳出页眉设置//任务导出------名字Word.ParagraphoPara1;oPara1=WordDoc.Content.Paragraphs.Add(refNothing);oPara1.Range.Text=strtitle;oPara1.Range.Font.Bold=1;oPara1.Range.Font.Name="宋体";oPara1.Range.Font.Size=20;oPara1.Range.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphCenter;oPara1.Format.SpaceAfter=5;//24ptspacingafterparagraph.oPara1.Range.InsertParagraphAfter();#region循环每个表foreach(varvinlst_task){#region循环每一个列,产生一行数据//描述信息Word.ParagraphoPara3;objectoRng=WordDoc.Bookmarks.get_Item(refoEndOfDoc).Range;oPara3=WordDoc.Content.Paragraphs.Add(refoRng);oPara3.Range.Text="";oPara3.Range.Font.Bold=0;oPara3.Range.Font.Name="宋体";oPara3.Range.Font.Size=9;oPara3.Range.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphCenter;oPara3.Format.SpaceBefore=1;oPara3.Format.SpaceAfter=1;oPara3.Range.InsertParagraphAfter();//插入表格Word.TablenewTable;Word.RangewrdRng=WordDoc.Bookmarks.get_Item(refoEndOfDoc).Range;newTable=WordDoc.Tables.Add(wrdRng,5,4,refNothing,refNothing);newTable.Columns[1].Width=60;newTable.Columns[2].Width=145;newTable.Columns[3].Width=80;newTable.Columns[4].Width=145;newTable.Borders.OutsideLineStyle=Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;newTable.Borders.InsideLineStyle=Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;//填充表格内容newTable.Cell(1,1).Range.Text="项目名称";newTable.Cell(1,2).Range.Text="1";newTable.Cell(1,3).Range.Text="模块名称";newTable.Cell(1,4).Range.Text="2";newTable.Cell(2,1).Range.Text="负责人名";newTable.Cell(2,2).Range.Text="3";newTable.Cell(2,3).Range.Text="状态";newTable.Cell(2,4).Range.Text="4";newTable.Cell(3,1).Range.Text="发布时间";newTable.Cell(3,2).Range.Text="5";newTable.Cell(3,3).Range.Text="要求完成时间";newTable.Cell(3,4).Range.Text="6";newTable.Cell(4,1).Range.Text="完成时间";newTable.Cell(4,2).Range.Text="7";newTable.Cell(4,3).Range.Text="分配人";newTable.Cell(4,4).Range.Text="8";newTable.Cell(5,1).Range.Text="任务描述";newTable.Cell(5,2).Merge(newTable.Cell(5,4));newTable.Cell(5,2).Range.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphLeft;newTable.Cell(5,2).Range.Text="12313213123213";#endregion}WordDoc.SaveAs(reffilename,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing);WordDoc.Close(refNothing,refNothing,refNothing);WordApp.Quit(refNothing,refNothing,refNothing);#endregion//关闭WinWord进程System.Diagnostics.Process[]MyProcess=System.Diagnostics.Process.GetProcessesByName("WINWORD");MyProcess[0].Kill();returntrue;}catch{System.Diagnostics.Process[]MyProcess=System.Diagnostics.Process.GetProcessesByName("WINWORD");MyProcess[0].Kill();returnfalse;}#endregion}看看哪有问题

解决方案

解决方案二:

解决方案三:
需要电脑上安装好Office,并且引用的库正确。一般这种你直接粘贴来的代码,本身应该基本可以,就看你会不会用了。
解决方案四:
C#创建word文档示例privateobjectG_missing=//定义G_missing字段并添加引用System.Reflection.Missing.Value;privateFolderBrowserDialogG_FolderBrowserDialog;//定义浏览文件夹字段privateobjectG_str_path;//定义文件保存路径字段privatevoidbtn_New_Click(objectsender,EventArgse){btn_New.Enabled=false;//将新建按钮设置为不可用ThreadPool.QueueUserWorkItem(//开始线程池(pp)=>//使用lambda表达式{G_wa=newMicrosoft.Office.Interop.Word.Application();//创建应用程序对象objectP_obj="Normal.dot";//定义文档模板Word.DocumentP_wd=G_wa.Documents.Add(//向Word应用程序中添加文档refP_obj,refG_missing,refG_missing,refG_missing);G_str_path=string.Format(//计算文件保存路径@"{0}{1}",G_FolderBrowserDialog.SelectedPath,DateTime.Now.ToString("yyyy年M月d日h时s分m秒fff毫秒")+".doc");P_wd.SaveAs(//保存Word文件refG_str_path,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing,refG_missing);((Word._Application)G_wa.Application).Quit(//退出应用程序refG_missing,refG_missing,refG_missing);this.Invoke(//调用窗体线程(MethodInvoker)(()=>//使用lambda表达式{//codego.net/tags/1/1/MessageBox.Show(//提示已经创建Word"成功创建Word文档!","提示!");btn_display.Enabled=true;//启用显示按钮}));});}

时间: 2024-10-30 04:42:27

c#创建word的相关文章

ASP在线创建Word与Excel文档

ASP具备动态输出任一Office应用程序文件格式的功能.在开始编写代码之前,我们首先需要做的就是设置正确的文件类型,因为浏览器需要知道如何处理文件.第二步是编辑文件名称,我们可以使用HTML和CSS来创建Word文档或Excel文档的样式.      下面这段例子代码可用于在线创建Word文档. 以下是引用片段:<% Response.ContentType = "application/msword" Response.AddHeader "Content-Disp

如何用ASP创建Word与Excel文档

创建|word|excel 怎样通过ASP创建简易的OFFICE文档呢?快捷的生成word或excel文档进行办公应用处理!下面我们来详细讲解. ASP具备动态输出任一Office应用程序文件格式的功能.在开始编写代码之前,我们首先需要做的就是设置正确的文件类型,因为浏览器需要知道如何处理文件.第二步是编辑文件名称,我们可以使用HTML和CSS来创建Word文档或Excel文档的样式.      下面这段例子代码可用于在线创建Word文档. 以下是代码:<% Response.ContentTy

用ASP创建Word文件

word|创建|word Using Active Server Pages to Build Microsoft Word Documents  By Gardiner B. Jones   Background  BuildDoc.asp is an Active Server Page (ASP) that reads the output of a Web page form, and creates as output a Microsoft Word document contai

技巧:用ASP在线创建Word与Excel文档

excel|word|创建|技巧|在线      ASP具备动态输出任一Office应用程序文件格式的功能.在开始编写代码之前,我们首先需要做的就是设置正确的文件类型,因为浏览器需要知道如何处理文件.第二步是编辑文件名称,我们可以使用HTML和CSS来创建Word文档或Excel文档的样式.      下面这段例子代码可用于在线创建Word文档. <% Response.ContentType = "application/msword" Response.AddHeader &

用ASP在线创建Word与Excel文档

ASP具备动态输出任一Office应用程序文件格式的功能.在开始编写代码之前,我们首先需要做的就是设置正确的文件类型,因为浏览器需要知道如何处理文件.第二步是编辑文件名称,我们可以使用HTML和CSS来创建Word文档或Excel文档的样式. 下面这段例子代码可用于在线创建Word文档. 以下是引用片段: <% Response.ContentType = "application/msword" Response.AddHeader "Content-Disposit

如何创建Word文件

 creatdoc.asp <!DOCTYPE html PUBLIC "-//W3C/Dtd html 3.2 Final//EN"> <head> <title>星河影动之创建Word文件</title> <META HTTP-EQUIV="Refresh" CONTENT="30;URL='orderForm.asp'"> </head> <%     dotLo

创建Word 2007插件项目——Word 2007高级应用

创建Word 2007插件项目--Word 2007高级应用 创建 Word 2007 插件项目 这里,我将会使用Visual Studio 2008 Beta 2所带的VSTO(Visual Studio Tools for Office)来开发这个插件,此外,Office 2007也是必须的. 图 1 如上图所示,你首先需要确保选择了 .NET Framework 3.5的项目,接着选择Visual C#Office2007Word Add-in作为项目模板(当然,你也可以选择Visual

在Word2003中创建Word子文档

  要想在Word2003中创建Word主控文档,首先将要Word文档视图切换至"大纲"视图.然后在Word2003菜单栏依次单击"视图"→"大纲"菜单命令切换视图.利用"大纲"工具栏可以执行与主控文档有关的所有功能,如图2008070921所示. 图2008070921 切换至"大纲"视图 在Word文档中将光标移动到某一个空段落处,在"样式"列表中选择合适的样式应用于该空白段落(例如

win7系统无法创建word文档怎么办

  office办公软件是我们在行业办工中,不可缺少的一项工具,尤其是word.excel更为常见,无论是处理表格数据,还是编写报告.整理文案.打印文档,大多会选用word,不过近期有部分win7用户向小编反映,自己在安装office软件后,一段时间出现word无法创建的问题,对于该问题我们如何处理呢?下面看河东软件园小编为您提供的解决方法! 操作方法 1.首先,我们同时按下win7系统键盘上的win+R快捷键打开电脑的运行窗口,在打开的运行窗口中,我们输入regedit并单击回车,这样,我们就

word-使用C#创建Word文档,创建时会崩溃

问题描述 使用C#创建Word文档,创建时会崩溃 想死的心都有了,每次建立一个新的word的时候,就崩溃了.详情见图 解决方案 不好意思,代码给错了,参照一下代码哈: `` //Create New Word Document doc = new Document(); doc.SaveToFile("OperateWord.docx", FileFormat.Docx); 解决方案二: 建议用npoi,不要用office,庞大不稳定还得带上整个office 解决方案三: 可以使用Fr