亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

C#在Word文檔指定位置處理表格

系統(tǒng) 2114 0
?

??? 正在做的項(xiàng)目里,需要開發(fā)一個(gè)小工具,將需要的數(shù)據(jù)插入到Word文檔中。這當(dāng)中有一項(xiàng)需求,要求能夠在Word文檔中某處插入表格,或者刪除該處表格。

????這個(gè)小工具是在VS.Net2005、Office2007下開發(fā)的。

????1、在Word文檔中插入一個(gè)書簽,書簽名稱為“tl”;

??? 2、在VS2005新建一個(gè)C#項(xiàng)目,然后在引用中添加Word類庫(kù);由于我使用的是Office2007,因此選擇的是"Microsoft Word 12.0?Object Library",如果你使用的是Office2003,就應(yīng)該選擇11.0;

??? 3、在代碼頂部添加對(duì)Word類庫(kù)的引用;

using ?Word? = ?Microsoft.Office.Interop.Word;

??? 4、打開Word文檔

object ?missingValue? = ?System.Reflection.Missing.Value;
????????????
object ?myTrue? = ? false ;?????????????????? // 不顯示W(wǎng)ord窗口
???????????? object ?fileName? = ? @" F:\Doc1.doc " ;
????????????Word._Application?oWord?
= ? new ?Word.ApplicationClass();
????????????Word._Document?oDoc;
????????????oDoc?
= ?oWord.Documents.Open( ref ?fileName,? ref ?missingValue,
???????????????
ref ?myTrue,? ref ?missingValue,? ref ?missingValue,? ref ?missingValue,
???????????????
ref ?missingValue,? ref ?missingValue,? ref ?missingValue,
???????????????
ref ?missingValue,? ref ?missingValue,? ref ?missingValue,
???????????????
ref ?missingValue,? ref ?missingValue,? ref ?missingValue,
???????????????
ref ?missingValue);

??? 5、找到剛才添加的書簽

object ?tmp? = ? " t1 " ;
????????????????Word.Range?startRange?
= ?oWord.ActiveDocument.Bookmarks.get_Item( ref ?tmp).Range;

??? 6、刪除在該位置的表格

Word.Table?tbl? = ?startRange.Tables[ 1 ];
tbl.Delete();

??? 如果書簽所在的位置并沒有插入表格,程序并不會(huì)刪除該位置下面的表格,而是會(huì)拋出異常,報(bào)錯(cuò)。

??? 7、插入表格,并劃線

// 添加表格
oDoc.Tables.Add(startRange,? 5 ,? 4 ,? ref ?missingValue,? ref ?missingValue);

// 為表格劃線
startRange.Tables[ 1 ].Borders[WdBorderType.wdBorderTop].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
startRange.Tables[
1 ].Borders[WdBorderType.wdBorderLeft].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
startRange.Tables[
1 ].Borders[WdBorderType.wdBorderRight].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
startRange.Tables[
1 ].Borders[WdBorderType.wdBorderBottom].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
startRange.Tables[
1 ].Borders[WdBorderType.wdBorderHorizontal].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
startRange.Tables[
1 ].Borders[WdBorderType.wdBorderVertical].LineStyle? = ?WdLineStyle.wdLineStyleSingle;

??? 全部的代碼如下:

object ?missingValue? = ?System.Reflection.Missing.Value;
????????????
object ?myTrue? = ? false ;?????????????????? // 不顯示W(wǎng)ord窗口
???????????? object ?fileName? = ? @" F:\Doc1.doc " ;
????????????Word._Application?oWord?
= ? new ?Word.ApplicationClass();
????????????Word._Document?oDoc;
????????????oDoc?
= ?oWord.Documents.Open( ref ?fileName,? ref ?missingValue,
???????????????
ref ?myTrue,? ref ?missingValue,? ref ?missingValue,? ref ?missingValue,
???????????????
ref ?missingValue,? ref ?missingValue,? ref ?missingValue,
???????????????
ref ?missingValue,? ref ?missingValue,? ref ?missingValue,
???????????????
ref ?missingValue,? ref ?missingValue,? ref ?missingValue,
???????????????
ref ?missingValue);
????????????
try
????????????
{
????????????????
object ?tmp? = ? " t1 " ;
????????????????Word.Range?startRange?
= ?oWord.ActiveDocument.Bookmarks.get_Item( ref ?tmp).Range;

????????????????
// 刪除指定書簽位置后的第一個(gè)表格
????????????????Word.Table?tbl? = ?startRange.Tables[ 1 ];
????????????????tbl.Delete();

????????????????
// 添加表格
????????????????oDoc.Tables.Add(startRange,? 5 ,? 4 ,? ref ?missingValue,? ref ?missingValue);

????????????????
// 為表格劃線
????????????????startRange.Tables[ 1 ].Borders[WdBorderType.wdBorderTop].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
????????????????startRange.Tables[
1 ].Borders[WdBorderType.wdBorderLeft].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
????????????????startRange.Tables[
1 ].Borders[WdBorderType.wdBorderRight].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
????????????????startRange.Tables[
1 ].Borders[WdBorderType.wdBorderBottom].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
????????????????startRange.Tables[
1 ].Borders[WdBorderType.wdBorderHorizontal].LineStyle? = ?WdLineStyle.wdLineStyleSingle;
????????????????startRange.Tables[
1 ].Borders[WdBorderType.wdBorderVertical].LineStyle? = ?WdLineStyle.wdLineStyleSingle;

????????????}

????????????
catch
????????????
{
????????????????
// 異常處理
????????????}


????????????
object ?bSaveChange? = ? true ;
????????????oDoc.Close(
ref ?bSaveChange,? ref ?missingValue,? ref ?missingValue);
????????????oDoc?
= ? null ;
????????????oWord?
= ? null ;

??? 代碼很簡(jiǎn)單,在寫這實(shí)例的過程中我參考了如下資料:
???? Word對(duì)象模型概述

??? Word任務(wù)

C#在Word文檔指定位置處理表格


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 成人毛片18岁女人毛片免费看 | 91尤物在线 | 国产成人综合久久综合 | 亚洲性夜夜综合久久麻豆 | 97精品在线播放 | 夜夜干天天操 | 天天摸天天操天天爽 | 久久综合久 | 精品久久久久久国产免费了 | 日韩色视频一区二区三区亚洲 | 四虎影院国产精品 | 国产精品人成人免费国产 | 欧美日韩中文字幕在线手机版本 | 天天射天天操天天干 | 尤物免费视频 | 日本综合欧美一区二区三区 | 日韩免费精品一级毛片 | 四虎影院在线播放视频 | 亚洲国产精品线观看不卡 | 天天操天天舔天天干 | 一级毛片免费视频 | 成年人黄色小视频 | 欧美美女一区二区三区 | jizzjizz中国丝袜美女 | 色偷偷女人的天堂a在线 | 国产视频久久久 | 99九九99九九九视频精品 | 99视频精品在线 | 中文字幕在线免费播放 | 日韩伦理一区 | 在线观看欧美一区 | 国产精品偷伦视频免费观看的 | 久久综合狠狠综合久久97色 | 波多野吉衣一区二区三区在线观看 | 天天舔天天爽 | 视频日韩 | 亚洲精品一区二区久久 | 久久久久九九精品影院 | 日韩在线视频不卡 | 亚洲成人免费网站 | 又粗又硬又大久久久 |