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

C#操作word封裝

系統 1982 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條評論
主站蜘蛛池模板: 精品亚洲一区二区三区在线播放 | 毛片毛片毛片毛片出来毛片 | 在线视频这里只有精品 | 国产69精品久久久久99尤物 | 四虎永久在线观看视频精品 | 亚洲精品一区二区三区婷婷月 | 午夜性福| 国产l精品国产亚洲区在线观看 | 欧美在线一级毛片观看 | 日日夜夜天天人人 | 成人国产精品一级毛片视频 | 亚洲精品国产美女在线观看 | 综合久久一区二区三区 | 一区二区在线 | 在线 | 一区二区三区四区 | 四虎影院在线网址 | 青青青国产成人久久111网站 | 日韩一级精品视频在线观看 | 一级一级18女人毛片 | 在哪里可以看毛片 | 国产精品手机视频 | 中文字幕最新中文字幕中文字幕 | 激性欧美激情在线播放16页 | 九九精品影院 | 99热久久国产这里有只有精品 | 午夜精品在线视频 | 狠狠色综合久久婷婷色天使 | 日本特黄特色aaa大片免费 | 一级aa 毛片高清免费看 | 亚洲精品二三区伊人久久 | 久久99中文字幕 | 国内精品久久久久久影院8f | 波多野结衣一区二区三区四区 | 亚洲欧洲视频 | 久久99精品久久久66 | 天海翼一区二区在线观看 | 香蕉色综合| 国产成人+亚洲欧洲 | 日韩成人伦理 | 免费视频 久久久 | 色国产在线视频一区 |