今天练习C#操作Word文档,首先要引入类库(Microsoft.Office.Interop.Word ),可是在我机器上无法引用,于是找其原因是没有安装“Office 2003 主 Interop 程序集”.
前提:
导入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);
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();