.Net设计 发表于 2010-12-17 08:34:17

C#操作Word

C#操作Word完全方法
前提:
导入COM库:Microsoft word 11.0 Object Library.
引用里面就增加了:
创建新Word object oMissing = System.Reflection.Missing.Value;Word._Application oWord;Word._Document oDoc;oWord = new Word.Application();oWord.Visible = true;oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);

打开文档: object oMissing = System.Reflection.Missing.Value;Word._Application oWord;Word._Document oDoc;oWord = new Word.Application();oWord.Visible = true;object fileName = @"E:CCCXCXXTestDoc.doc";//也可以这么写 "E:\\CCCXCXXTESTDoc.doc" oDoc = oWord.Documents.Open(ref fileName,ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

导入模板
object oMissing = System.Reflection.Missing.Value;Word._Application oWord;Word._Document oDoc;oWord = new Word.Application();oWord.Visible = true;object fileName = @"E:XXXCCXTest.doc";oDoc = oWord.Documents.Add(ref fileName, ref oMissing, ref oMissing, ref oMissing);

添加新表
object oMissing = System.Reflection.Missing.Value;Word._Application oWord;Word._Document oDoc;oWord = new Word.Application();oWord.Visible = true;oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
object start = 0;object end = 0;Word.Range tableLocation = oDoc.Range(ref start, ref end);oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);

表插入行
object oMissing = System.Reflection.Missing.Value;Word._Application oWord;Word._Document oDoc;oWord = new Word.Application();oWord.Visible = true;oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
object start = 0;object end = 0;Word.Range tableLocation = oDoc.Range(ref start, ref end);oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);
Word.Table newTable = oDoc.Tables;object beforeRow = newTable.Rows;newTable.Rows.Add(ref beforeRow);

单元格合并
object oMissing = System.Reflection.Missing.Value;Word._Application oWord;Word._Document oDoc;oWord = new Word.Application();oWord.Visible = true;oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
object start = 0;object end = 0;Word.Range tableLocation = oDoc.Range(ref start, ref end);oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);
Word.Table newTable = oDoc.Tables;object beforeRow = newTable.Rows;newTable.Rows.Add(ref beforeRow);
Word.Cell cell = newTable.Cell(1, 1);cell.Merge(newTable.Cell(1, 2));

单元格分离
object oMissing = System.Reflection.Missing.Value;Word._Application oWord;Word._Document oDoc;oWord = new Word.Application();oWord.Visible = true;oDoc = oWord.Documents.Add(oMissing, ref oMissing, ref oMissing);
object start = 0;object end = 0;Word.Range tableLocation = oDoc.Range(ref start, ref end);oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);
Word.Table newTable = oDoc.Tables;object beforeRow = newTable.Rows;newTable.Rows.Add(ref beforeRow);
Word.Cell cell = newTable.Cell(1, 1);cell.Merge(newTable.Cell(1, 2));
object Rownum = 2;object Columnnum = 2;cell.Split(ref Rownum, ref
Columnnum);

通过段落控制插入

object oMissing = System.Reflection.Missing.Value;object oEndOfDoc = @"\endofdoc"; /* endofdoc is a predefined bookmark */

//Start Word and create a new document.Word._Application oWord;Word._Document oDoc;oWord = new Word.Application();oWord.Visible = true;oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
//Insert a paragraph at the beginning of the document.Word.Paragraph oPara1;oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing);oPara1.Range.Text = "Heading 1";oPara1.Range.Font.Bold = 1;oPara1.Format.SpaceAfter = 24;
//24 pt spacing after paragraph.oPara1.Range.InsertParagraphAfter();

wlkh0607 发表于 2010-12-17 11:10:46

深蓝浅蓝 发表于 2010-12-17 11:16:19

{:6_287:}

破衣UG 发表于 2010-12-17 11:19:24

{:9_294:}

TG不是人 发表于 2010-12-17 13:39:13

{:6_287:}

笑看浮云 发表于 2010-12-17 13:40:37

{:6_287:}是不是麻烦了点

帅到死为止 发表于 2010-12-18 13:09:24

{:6_287:}
页: [1]
查看完整版本: C#操作Word