现在的位置: 首页 > 综合 > 正文

C#生成word

2013年01月12日 ⁄ 综合 ⁄ 共 1728字 ⁄ 字号 评论关闭

 //仅供参考
using MSWord = Microsoft.Office.Interop.Word;
using System.IO;
using Sytem.Reflection;

string filePath;
string content;
MSWord.Application wordApp;
MSWord.Document wordDoc;
filePath
= @"d:/testWord.docx";
wordApp
= new MSWord.ApplicationClass();

if(File.Exists(filePath))
{
  File.Delete(filePath);
}

Object nothing = Missing.Value;
wordDoc
= wordApp.Documents.Add(ref nothing,ref nothing,ref nothing,ref nothing);

/* 1、写入普通文本   */
content
= "Hello!";
wordDoc.Paragraphs.Last.Range.Text
= content;
object format = MSWord.WdSaveFormat.wdFormatDocmentDefault;

/* 2、 写入需要的特殊格式文本 */
//写入15号字体
content = "这一行是15号字体的文本";
wordDoc.Paragraphs.Last.Range.Font.Size
= 15;
wordDoc.Paragraphs.Last.Range.Text
= content;

//写入斜体文本
content = "这一行是斜体文本";
wordDoc.Paragraphs.Last.Range.Font.Italic
= 1;
wordDoc.Paragraphs.Last.Range.Text
= content;

//写入红色下划线文本
content = "这一行是红色下划线的文本";
wordDoc.Paragraphs.Last.Range.Font.Underline
= MSWord.WdUnderline.wdUnderlineThick;
wordDoc.Paragraphs.Last.Range.Font.UnderlineColor
= MSWord.WdColor.wdColorRed;
wordDoc.Paragraphs.Last.Range.Text
= content;

/* 3、写入表格   */
//表格对象
MSWord.Table table = wordDoc.Tables.Add(wordApp.Selection.Range,5,
     
5,ref nothing,ref nothing);
table.Border.Enable
= 1;
for(int i=1;; i<6; i++)
{
 
for(int j=1; j<6; j++)
  {
    table.Cell(i,j).Range.Text
= ""+i+"","+j+"";
  }
}

/* 4、插入图片   */
string jpgName = @"d:/logo.jpg";
Object range
= wordDoc.Paragraphs.Last.Range;
Object linkToFile
= false;
Object saveWithDocument
= true;
wordDoc.InlineShapes.AddPicture(jpgName,
ref linkToFile,ref saveWithDocument,ref range);

wordDoc.SaveAs(ref path,ref format,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);
wordDoc.Close(
ref nothing ref nothing,ref nothing);
wordApp.Quit(
ref nothing,ref nothing,ref nothing);

抱歉!评论已关闭.