使用c#将数据保存到word中开发工具:Vs2010、sqlserver2005、office20031.界面2.当点击“开始到处数据”按钮的时候就会将数据导出到word中看看效果图,还不错吧!下面来看看具体步骤:1.添加引用:MicrosoftWord11.0ObjectLibrary点击确定按钮完成组件的添加下面再来看看具体的代码:1.需要导入的命名空间:usingSystem.Reflection;usingWord;2.详细代码:关于dbhelp()这个方法,这个方法是用来连接数据库并从数据库获取数据后将数据以DataTable返回座位数据源。privatevoidbutton1_Click(objectsender,EventArgse){try{//使用这一行代码的时候需要导入命名空间:usingSystem.Reflection;objectmissing=Missing.Value;//默认导出数据后的文件的保存路径objectfilepath=@C:\DocumentsandSettings\Administrator\桌面\database.doc;//如果不存在指定的文件就创建if(!File.Exists(filepath.ToString())){File.Create(filepath.ToString());}//开始创建word文档Word.Applicationwordapp=newWord.Application();//Word.ApplicationClasswordapp=newWord.ApplicationClass();Word.Documentworddoc=newWord.Document();//在向word文档中写入数据前,先加上这行命令//如果不加上这行命令会报错:因为没有打开的文档,所以这一命令无效。worddoc=wordapp.Documents.Open(reffilepath,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing);/*☆☆☆☆☆为word文档添加页眉信息☆☆☆☆☆*///使用WdViewType.wdOutlineView需要导入命名空间:usingWord;wordapp.ActiveWindow.View.Type=WdViewType.wdOutlineView;wordapp.ActiveWindow.View.SeekView=WdSeekView.wdSeekPrimaryHeader;//设置页眉的内容wordapp.ActiveWindow.ActivePane.Selection.InsertAfter(将数据导出到word示例);//设置页眉内容的对齐方式,让也没的内容剧中显示wordapp.Selection.ParagraphFormat.Alignment=WdParagraphAlignment.wdAlignParagraphCenter;//完成页眉的设置后,跳出页眉的设置wordapp.ActiveWindow.View.SeekView=WdSeekView.wdSeekMainDocument;//设置文档的行距wordapp.Selection.ParagraphFormat.LineSpacing=15f;//设置表格中单元格的文字的对齐方式为垂直居中wordapp.Selection.ParagraphFormat.Alignment=WdParagraphAlignment.wdAlignParagraphCenter;//设定表格的函数。由于表格有列标题,所以在设定行数的时候还要加上列标题这一行introwcount=dbhelp().Rows.Count+1;//设置表格的函数intcolcount=dbhelp().Columns.Count;//设置表格的列数//导出的数据在word中以表格的形式保存,所以还要在word中创建表格//这里的Table是interfaceWord.Table而不是DataTable类型的TableTablewordtable=worddoc.Tables.Add(wordapp.Selection.Range,rowcount,colcount,refmissing,refmissing);//wordtable.Select();////设置单元格的文字的堆砌方式//wordapp.Selection.Tables[1].Rows.Alignment=WdRowAlignment.wdAlignRowCenter;/*☆☆☆☆☆接下来就是开始导出数据☆☆☆☆☆*/introwindex=1;//表格中行的索引intcolindex=1;//表格中猎德索引//设置表格的标题foreach(DataColumncolindbhelp().Columns){wordtable.Cell(rowindex,colindex).Range.InsertAfter(col.ColumnName);//将标题行的字体设置为粗体wordtable.Cell(rowindex,colindex).Range.Bold=2;//将列标题的背景色设置为天蓝色wordtable.Cell(rowindex,colindex).Range.Shading.ForegroundPatternColor=WdColor.wdColorSkyBlue;colindex++;}//向表格中填充数据foreach(DataRowdrindbhelp().Rows){rowindex++;colindex=1;foreach(DataColumncolindbhelp().Columns){//colindex++;wordtable.Cell(rowindex,colindex).Range.InsertAfter(dr[col.ColumnName].ToString());//设置表格的样式if(colindex%2==1){//将奇数列的单元格内的文字设置为红色wordtable.Cell(rowindex,colindex).Range.Font.Color=WdColor.wdColorRed;//将奇数列的单元格的背景色设施为PaleBluewordtable.Cell(rowindex,colindex).Range.Shading.ForegroundPatternColor=WdColor.wdColorPaleBlue;}colindex++;}}//worddoc.SaveAs(filepath);worddoc.SaveAs(reffilepath,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing);worddoc.Close(refmissing,refmissing,refmissing);wordapp.Quit(refmissing,refmissing,refmissing);MessageBox.Show(over!);this.Close();}catch(Exceptionex){MessageBox.Show(ex.Message);}}总结一下:该段代码实现了表格的创建、设置表格中单元格的背景色、文字的对齐方式、位子的颜色、字体加粗、页眉的添加等功能。但是,在多次的调试过程中也发现了以这种方式将数据保存到word中以注意的几个问题:1.将要保存到的目标文件必须存在并且目标文件在数据导出之前是没有使用的2.如果将要保存到的目标文件中已经有内容存在,那么导出的数据将会从文档的第一行开始插入。但是,如果文档的第一行是一个表格的话,将会在该表格的第一行的第一个单元格内新建一个表格用来插入数据,而不会在已有表格的前面插入表格。3.这种方式具有一定的局限性,因而将要保存到的目标文件最好是空白的才能达到想要的效果;4.大家也一定注意到了软件界面中的列标题是中文,而保存到word表格中的列标题确实英文的,这也是一个需要改进的地方。5.以上的功能都是针对一张表格的操作,也就是说如果要同时将多个数据源以多张表格的形式保存到word中,这种方式就不一定行得通了。有兴趣的可以试试。本人能力有限,如有错去请自行改正!!!!!!本文章仅供参考!!!!!开发随心,尽善尽美--月之江南