C#动态生成Word文档并填充数据

时间:2023-12-20 08:56:38

C#也能动态生成Word文档并填充数据

http://www.cnblogs.com/qyfan82/archive/2007/09/14/893293.html

引用http://blog.csdn.net/mengyao/archive/2007/09/13/1784079.aspx

using System;
C#动态生成Word文档并填充数据using System.Collections.Generic;
C#动态生成Word文档并填充数据using System.ComponentModel;
C#动态生成Word文档并填充数据using System.Data;
C#动态生成Word文档并填充数据using System.Drawing;
C#动态生成Word文档并填充数据using System.Text;
C#动态生成Word文档并填充数据using System.Windows.Forms;
C#动态生成Word文档并填充数据using System.IO;
C#动态生成Word文档并填充数据using Microsoft.Office.Interop.Word;
  public string CreateWordFile(string CheckedInfo)

{

string message = "";
C#动态生成Word文档并填充数据C#动态生成Word文档并填充数据{
C#动态生成Word文档并填充数据            string message = "";
C#动态生成Word文档并填充数据            try
C#动态生成Word文档并填充数据C#动态生成Word文档并填充数据           
C#动态生成Word文档并填充数据Object Nothing = System.Reflection.Missing.Value;
C#动态生成Word文档并填充数据                Directory.CreateDirectory("C:/CNSI");  //创建文件所在目录
C#动态生成Word文档并填充数据                string name = "CNSI_" + DateTime.Now.ToLongDateString()+".doc";
C#动态生成Word文档并填充数据                object filename = "C://CNSI//" + name;  //文件保存路径
C#动态生成Word文档并填充数据                //创建Word文档
C#动态生成Word文档并填充数据                Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
C#动态生成Word文档并填充数据                Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
C#动态生成Word文档并填充数据
C#动态生成Word文档并填充数据                //添加页眉
C#动态生成Word文档并填充数据                WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;
C#动态生成Word文档并填充数据                WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;
C#动态生成Word文档并填充数据                WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("[页眉内容]");
C#动态生成Word文档并填充数据                WordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;//设置右对齐
C#动态生成Word文档并填充数据                WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;//跳出页眉设置
C#动态生成Word文档并填充数据
C#动态生成Word文档并填充数据                WordApp.Selection.ParagraphFormat.LineSpacing = 15f;//设置文档的行间距
C#动态生成Word文档并填充数据
C#动态生成Word文档并填充数据                //移动焦点并换行
C#动态生成Word文档并填充数据                object count = 14;
C#动态生成Word文档并填充数据                object WdLine = Microsoft.Office.Interop.Word.WdUnits.wdLine;//换一行;
C#动态生成Word文档并填充数据                 WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
C#动态生成Word文档并填充数据                 WordApp.Selection.TypeParagraph();//插入段落
C#动态生成Word文档并填充数据
C#动态生成Word文档并填充数据                 //文档中创建表格
C#动态生成Word文档并填充数据                 Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, 12, 3, ref Nothing, ref Nothing);
C#动态生成Word文档并填充数据                 //设置表格样式
C#动态生成Word文档并填充数据                 newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleThickThinLargeGap;
C#动态生成Word文档并填充数据                 newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
C#动态生成Word文档并填充数据                 newTable.Columns[1].Width = 100f;
C#动态生成Word文档并填充数据                 newTable.Columns[2].Width = 220f;
C#动态生成Word文档并填充数据                 newTable.Columns[3].Width = 105f;
C#动态生成Word文档并填充数据
C#动态生成Word文档并填充数据                 //填充表格内容
C#动态生成Word文档并填充数据                 newTable.Cell(1, 1).Range.Text = "产品详细信息表";
C#动态生成Word文档并填充数据                 newTable.Cell(1, 1).Range.Bold = 2;//设置单元格中字体为粗体
C#动态生成Word文档并填充数据                 //合并单元格
C#动态生成Word文档并填充数据                 newTable.Cell(1, 1).Merge(newTable.Cell(1, 3));
C#动态生成Word文档并填充数据                 WordApp.Selection.Cells.VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中
C#动态生成Word文档并填充数据                 WordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;//水平居中
C#动态生成Word文档并填充数据                        
C#动态生成Word文档并填充数据                 //填充表格内容
C#动态生成Word文档并填充数据                 newTable.Cell(2, 1).Range.Text = "产品基本信息";
C#动态生成Word文档并填充数据                 newTable.Cell(2, 1).Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorDarkBlue;//设置单元格内字体颜色
C#动态生成Word文档并填充数据                 //合并单元格
C#动态生成Word文档并填充数据                 newTable.Cell(2, 1).Merge(newTable.Cell(2, 3));
C#动态生成Word文档并填充数据                 WordApp.Selection.Cells.VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
C#动态生成Word文档并填充数据
C#动态生成Word文档并填充数据                  //填充表格内容
C#动态生成Word文档并填充数据                  newTable.Cell(3, 1).Range.Text = "品牌名称:";
C#动态生成Word文档并填充数据                  newTable.Cell(3, 2).Range.Text = "BrandName";
C#动态生成Word文档并填充数据                  //纵向合并单元格
C#动态生成Word文档并填充数据                  newTable.Cell(3, 3).Select();//选中一行
C#动态生成Word文档并填充数据                  object moveUnit = Microsoft.Office.Interop.Word.WdUnits.wdLine;
C#动态生成Word文档并填充数据                  object moveCount = 5;
C#动态生成Word文档并填充数据                  object moveExtend = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;
C#动态生成Word文档并填充数据                   WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend);
C#动态生成Word文档并填充数据                   WordApp.Selection.Cells.Merge();
C#动态生成Word文档并填充数据                   //插入图片
C#动态生成Word文档并填充数据                   string FileName = @"c:\picture.jpg";//图片所在路径
C#动态生成Word文档并填充数据                   object LinkToFile = false;
C#动态生成Word文档并填充数据                   object SaveWithDocument = true;
C#动态生成Word文档并填充数据                   object Anchor = WordDoc.Application.Selection.Range;
C#动态生成Word文档并填充数据                   WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor);
C#动态生成Word文档并填充数据                    WordDoc.Application.ActiveDocument.InlineShapes[1].Width = 100f;//图片宽度
C#动态生成Word文档并填充数据                    WordDoc.Application.ActiveDocument.InlineShapes[1].Height = 100f;//图片高度
C#动态生成Word文档并填充数据                    //将图片设置为四周环绕型
C#动态生成Word文档并填充数据                    Microsoft.Office.Interop.Word.Shape s = WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();
C#动态生成Word文档并填充数据                    s.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapSquare;
C#动态生成Word文档并填充数据                        
C#动态生成Word文档并填充数据                    newTable.Cell(12, 1).Range.Text = "产品特殊属性";
C#动态生成Word文档并填充数据                    newTable.Cell(12, 1).Merge(newTable.Cell(12, 3));
C#动态生成Word文档并填充数据                     //在表格中增加行
C#动态生成Word文档并填充数据                     WordDoc.Content.Tables[1].Rows.Add(ref Nothing);
C#动态生成Word文档并填充数据                      
C#动态生成Word文档并填充数据                     WordDoc.Paragraphs.Last.Range.Text = "文档创建时间:" + DateTime.Now.ToString();//“落款”
C#动态生成Word文档并填充数据                     WordDoc.Paragraphs.Last.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
C#动态生成Word文档并填充数据
C#动态生成Word文档并填充数据                    //文件保存
C#动态生成Word文档并填充数据                    WordDoc.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);
C#动态生成Word文档并填充数据                    WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
C#动态生成Word文档并填充数据                    WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
C#动态生成Word文档并填充数据                    message=name+"文档生成成功,以保存到C:CNSI下";

}