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

C#操作word封裝

系統 2419 0

在項目中添加Microsoft.Office.Interop.Word.dll引用

Code
public ?? class ??WordAPI
{
????
private ? object ?_template;
????
private ? object ?_newWord;
????
private ?Microsoft.Office.Interop.Word.Application?wordApp;
????
private ?Microsoft.Office.Interop.Word.Document?_wordDocument;
????
private ? object ?defaultV? = ?System.Reflection.Missing.Value;
????
private ? object ?documentType;
????
/// ? <summary>
????
/// ?構造函數
????
/// ? </summary>
????
/// ? <param?name="template"> 模板文件位置 </param>
????
/// ? <param?name="newWord"> 保存位置 </param>
???? public ?WordAPI( string ?template, string ?newWord)
????{
????????
this ._template? = ?template;
????????
this ._newWord? = ?newWord;
????????wordApp?
= ? new ?Application();
????????documentType?
= ?Microsoft.Office.Interop.Word.WdDocumentType.wdTypeDocument;
????????_wordDocument?
= ?wordApp.Documents.Add( ref ?_template,? ref ?defaultV,? ref ?documentType,? ref ?defaultV);
????}
????
/// ? <summary>
????
/// ?設置默認一頁行數
????
/// ? </summary>
????
/// ? <param?name="size"></param>
???? public ? void ?SetLinesPage( int ?size)
????{
????????wordApp.ActiveDocument.PageSetup.LinesPage?
= ? 40 ;
????}
????
/// ? <summary>
????
/// ?設置書簽的值
????
/// ? </summary>
????
/// ? <param?name="markName"> 書簽名 </param>
????
/// ? <param?name="markValue"> 書簽值 </param>
???? public ? void ?SetBookMark( string ?markName,? string ?markValue)
????{
????????
object ?_markName? = markName;
????????
try
????????{
????????????_wordDocument.Bookmarks.get_Item(
ref ?_markName).Range.Text? = ?markValue;
????????}
????????
catch
????????{
????????????
throw ? new ?Exception(markName? + ? " 未找到!! " );
????????}
????}
????
/// ? <summary>
????
/// ?設置添加頁眉
????
/// ? </summary>
????
/// ? <param?name="context"> 內容 </param>
???? public ? void ?SetPageHeader( string ?context)
????{
????????wordApp.ActiveWindow.View.Type?
= ?WdViewType.wdOutlineView;
????????wordApp.ActiveWindow.View.SeekView?
= ?WdSeekView.wdSeekPrimaryHeader;
????????wordApp.ActiveWindow.ActivePane.Selection.InsertAfter(context);
????????wordApp.Selection.ParagraphFormat.Alignment?
= WdParagraphAlignment.wdAlignParagraphCenter;
????????
// 跳出頁眉設置????
????????wordApp.ActiveWindow.View.SeekView? = ?WdSeekView.wdSeekMainDocument;???
????}
????
/// ? <summary>
????
/// ?當前位置處插入文字
????
/// ? </summary>
????
/// ? <param?name="context"> 文字內容 </param>
????
/// ? <param?name="fontSize"> 字體大小 </param>
????
/// ? <param?name="fontColor"> 字體顏色 </param>
????
/// ? <param?name="fontBold"> 粗體 </param>
????
/// ? <param?name="familyName"> 字體 </param>
????
/// ? <param?name="align"> 對齊方向 </param>
???? public ? void ?InsertText( string ?context,? int ?fontSize,?WdColor?fontColor,? int ?fontBold, string ?familyName,?WdParagraphAlignment?align)
????{
????????
// 設置字體樣式以及方向????
????????wordApp.Application.Selection.Font.Size? = ?fontSize;
????????wordApp.Application.Selection.Font.Bold?
= ?fontBold;
????????wordApp.Application.Selection.Font.Color?
= ?fontColor;
????????wordApp.Selection.Font.Name?
= ?familyName;
????????wordApp.Application.Selection.ParagraphFormat.Alignment?
= ?align;
????????wordApp.Application.Selection.TypeText(context);???

????}
????
/// ? <summary>
????
/// ?翻頁
????
/// ? </summary>
???? public ? void ?ToNextPage()
????{
????????
object ?breakPage? = ?Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;
????????wordApp.Selection.InsertBreak(
ref ?breakPage);???
????}
????
/// ? <summary>
????
/// ?焦點移動count段落
????
/// ? </summary>
????
/// ? <param?name="count"></param>
???? public ? void ?MoveParagraph( int ?count)
????{
????????
object ?_count? = ?count;
????????
object ?wdP = ?WdUnits.wdParagraph; // 換一段落
????????wordApp.Selection.Move( ref ?wdP,? ref ?_count);
????}
????
/// ? <summary>
????
/// ?焦點移動count行
????
/// ? </summary>
????
/// ? <param?name="count"></param>
???? public ? void ?MoveRow( int ?count)
????{
????????
object ?_count? = ?count;
????????
object ?WdLine? = WdUnits.wdLine; // 換一行
????????wordApp.Selection.Move( ref ?WdLine,? ref ?_count);
????}
????
/// ? <summary>
????
/// ?焦點移動字符數
????
/// ? </summary>
????
/// ? <param?name="count"></param>
???? public ? void ?MoveCharacter( int ?count)
????{
????????
object ?_count? = ?count;
????????
object ?wdCharacter? = ?WdUnits.wdCharacter;
????????wordApp.Selection.Move(
ref ?wdCharacter,? ref ?_count);
????}
????
/// ? <summary>
????
/// ?插入段落
????
/// ? </summary>
???? public ? void ?ToNextParagraph()
????{
????????wordApp.Selection.TypeParagraph();
// 插入段落
????}

????
/// ? <summary>
????
/// ?回車換行
????
/// ? </summary>
???? public ? void ?ToNextLine()
????{
????????wordApp.Selection.TypeParagraph();?????????
????}
????
/// ? <summary>
????
/// ?當前位置插入圖片
????
/// ? </summary>
????
/// ? <param?name="picture"></param>
???? public ? void ?InsertPicture( string ?picture)
????{?????????
????????
// 圖片居中顯示????
????????wordApp.Selection.ParagraphFormat.Alignment? = ?WdParagraphAlignment.wdAlignParagraphCenter;
????????wordApp.Application.Selection.InlineShapes.AddPicture(picture,?
ref ?defaultV,? ref ?defaultV,? ref ?defaultV);
????}
????
/// ? <summary>
????
/// ?添加表格
????
/// ? </summary>
????
/// ? <param?name="rowNum"></param>
????
/// ? <param?name="cellNum"></param>
????
/// ? <returns></returns>
???? public ?Table?CreatTable( int ?rowNum, int ?cellNum)
????{
??????
return ?? this ._wordDocument.Tables.Add(wordApp.Selection.Range,?rowNum,?cellNum,? ref ?defaultV,? ref ?defaultV);
????}
????
/// ? <summary>
????
/// ?設置列寬
????
/// ? </summary>
????
/// ? <param?name="widths"></param>
???? public ? void ?SetColumnWidth( float ?[]?widths,Table?tb)
????{
????????
if ?(widths.Length? > ? 0 )
????????{
????????????
int ?len? = widths.Length;
????????????
for ?( int ?i? = ? 0 ;?i? < ?len;?i ++ )
????????????{
????????????????tb.Columns[i].Width?
= ?widths[i];
????????????}
????????}
????}
????
/// ? <summary>
????
/// ?合并單元格
????
/// ? </summary>
????
/// ? <param?name="tb"></param>
????
/// ? <param?name="cells"></param>
???? public ? void ?MergeColumn(Table?tb,?Cell[]?cells)
????{
????????
if ?(cells.Length? > ? 1 )
????????{
????????????Cell?c?
= ?cells[ 0 ];
????????????
int ?len? = ?cells.Length;
????????????
for ?( int ?i? = ? 1 ;?i? < ?len;?i ++ )
????????????{
???????????????c.Merge(cells[i]);
????????????}
????????}
????????wordApp.Selection.Cells.VerticalAlignment?
= ?WdCellVerticalAlignment.wdCellAlignVerticalCenter;

????}
????
/// ? <summary>
????
/// ?設置單元格內容
????
/// ? </summary>
????
/// ? <param?name="_c"></param>
????
/// ? <param?name="v"></param>
????
/// ? <param?name="align"> 對齊方式 </param>
???? public ? void ?SetCellValue(Cell?_c,? string ?v,?WdParagraphAlignment?align)
????{
????????wordApp.Selection.ParagraphFormat.Alignment?
= ?align;
????????_c.Range.Text?
= ?v;
????}

????
/// ? <summary>
????
/// ?保存新文件
????
/// ? </summary>
???? public ? void ?SaveAsWord()
????{
????????
object ?doNotSaveChanges? = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
????????
try
????????{
????????????
object ?fileFormat? = ?WdSaveFormat.wdFormatRTF;
????????????_wordDocument.SaveAs(
ref ?_newWord,? ref ?fileFormat,? ref ?defaultV,? ref ?defaultV,? ref ?defaultV,? ref ?defaultV,? ref ?defaultV,? ref ?defaultV,? ref ?defaultV,
????????????????
ref ?defaultV,? ref ?defaultV,? ref ?defaultV,? ref ?defaultV,? ref ?defaultV,? ref ?defaultV,? ref ?defaultV);????????????
????????}
????????
catch ?(Exception?e)
????????{
????????????
throw ? new ?Exception(e.Message);
???????????
????????}
????????
finally
????????{
????????????disponse();
????????}
????}
????
/// ? <summary>
????
/// ?釋放資源
????
/// ? </summary>
???? private ? void ?disponse()
????{
????????
object ?missingValue? = ?Type.Missing;
????????
object ?doNotSaveChanges? = ?Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
????????_wordDocument.Close(
ref ?doNotSaveChanges,? ref ?missingValue,? ref ?missingValue);
????????wordApp.Application.Quit(
ref ?defaultV,? ref ?defaultV,? ref ?defaultV);
????????_wordDocument?
= ? null ;
????????wordApp?
= ? null ;
????}

C#操作word封裝


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 97久久曰曰久久久 | 国产v片成人影院在线观看 国产v视频 | 奇米影视在线视频8888 | 欧美成人看片黄a免费 | 国产精品久久久久影院免费 | 久久精品综合网 | 日本不卡视频网站 | 九九久久国产精品 | 成人欧美一区在线视频在线观看 | 美女国产在线 | 91亚洲国产三上悠亚在线播放 | 不卡一区| 免费一级毛片视频 | 久久久99精品免费观看精品 | 国产免费一区二区三区免费视频 | 国产一区二区三区影院 | 久久99精品久久久久久噜噜 | jizjizjiz亚洲人 | 摸逼综合网 | 国产亚洲综合一区在线 | 六月婷婷中文字幕 | 精品国产日韩亚洲一区91 | 久久综合欧美 | 麻豆va一区二区三区久久浪 | 国外成人免费高清激情视频 | 久久久久国产一级毛片高清片 | 欧美一级亚洲一级 | 毛片免费全部免费观看 | 99福利在线| 久久手机免费视频 | 伊人影院久久 | 国产精品乱码高清在线观看 | 乱子伦有声小说mp3 仑乱高清在线一级播放 | 日本老乱video | 精品性久久 | 国产在线播放成人免费 | 国产成人精品自拍 | 国产日韩一区二区 | 日韩国产一区二区 | 日韩欧美小视频 | 国产亚洲欧洲国产综合一区 |