publicboolCreateWordFile(string_filename,"数据List或者你C#要写的数据")
{
#region开始生成Word
try
{
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
}