C#操作Word
2011-07-24 22:23 观海看云 阅读(221) 评论(0) 编辑 收藏 举报
前提:
导入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";
- 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[1];
- object beforeRow = newTable.Rows[1];
- 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[1];
- object beforeRow = newTable.Rows[1];
- 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[1];
- object beforeRow = newTable.Rows[1];
- 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();
添加表格行
doc.Content.Tables[0].Rows.Add(ref beforeRow);
2.11、添加表格列
doc.Content.Tables[0].Columns.Add(ref beforeColumn);
2.12、文本居中
- WordApp.Selection.ParagraphFormat.Alignment =
- Word.WdParagraphAlignment.wdAlignParagraphCenter;
- WordApp.Selection.Cells.VerticalAlignment =
- Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//选中单元格文字垂直居中
保存Word
- doc.SaveAs(ref filename,ref missing ,ref missing ,ref missing ,ref missing,
- ref missing ,ref missing ,ref missing ,ref missing ,ref missing ,ref missing ,
- ref missing ,ref missing ,ref missing ,ref missing ,ref missing );
结束Word进程
- myDoc.Close (ref missing,ref missing ,ref missing);
- myWord.Quit (ref missing,ref missing ,ref missing );
作者:观海看云(个人开发历程知识库 - 博客园)
出处:http://www.cnblogs.com/zhangtao/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/zhangtao/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。