C#讀取Word表格中的數(shù)據(jù)
系統(tǒng)
2019-08-12 09:26:50
3105 0
1.關(guān)于 Interop.Word類庫 ?
(本文提到關(guān)于word鏈接庫引用無法使用的問題,很實(shí)用)
今天練習(xí)C#操作Word文檔,首先要引入類庫(Microsoft.Office.Interop.Word?),可是在我機(jī)器上無法引用,于是找其原因是沒有安裝“Office 2003 主 Interop 程序集”.
安裝方法(網(wǎng)上介紹的):運(yùn)行office2003安裝程序,選擇“添加或刪除組件”,->勾選“高級自定義應(yīng)用程序”,->展開特定于應(yīng)用程序的節(jié)點(diǎn)。要獲取 Microsoft Office?word 2003 PIA,請展開
Microsoft Office?word
節(jié)點(diǎn)并選擇
.NET Programmability Support(.net可編程支持)
。單擊
.NET Programmability Support (.net可編程支持)
旁邊的下拉箭頭以選擇更新選項,并選取
Run from My Computer(從本機(jī)運(yùn)行)。然后點(diǎn)擊“更新”按鈕。完成!
可是問題來了:
我下載的這個office2003(盜版)安裝程序打開后沒有
.NET Programmability Support (.net可編程支持)這個選項
不能就此罷手,添加引用->COM->找到microosft?word?11.0?object?Library,選擇,確定.
?
引用:
?
using
?Word;
?
運(yùn)行程序通過,搞定.
?
?
【摘自】?
http://tmsoft.lsxy.com/trackback.php?tbID=334&extra=2aa67d
? 周老師科研站
前提:
導(dǎo)入COM庫:Microsoft word 11.0 Object Library.
引用里面就增加了:
創(chuàng)建新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);
導(dǎo)入模板
????????????
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();
C#讀取Word表格中的數(shù)據(jù)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】 元
喜歡作者