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

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條評論
主站蜘蛛池模板: 狠狠久久亚洲欧美专区 | 92国产福利久久青青草原 | 亚洲va精品中文字幕 | 婷婷激情在线视频 | 欧美夜夜骑 | 亚洲成人在线视频 | 搡的我好爽视频在线观看 | 国产香蕉98碰碰久久人人 | 大陆国产精品视频 | 日韩精品首页 | 精品一区二区三区在线播放 | 国产精品一区二区在线观看 | 99在线播放 | 99手机在线视频 | 欧美日韩成人午夜免费 | 久久亚洲精品国产精品婷婷 | 真实的国产乱xxxx | 日本另类αv欧美另类aⅴ | 日韩成人综合网 | 久久久久久久国产精品毛片 | 欧美性色xo影院在线观看 | 欧美日韩亚洲视频 | 午夜激情免费 | 免费中日高清无专码有限公司 | 涩涩的视频在线观看 | 精品乱码一区二区三区在线 | 337p日本欧洲亚洲大胆艺术 | 在线观看日本中文字幕 | 日本久久久久中文字幕 | 国产精品二区高清在线 | 97影院理论片在线观看 | 欧美国产日韩一区二区三区 | 看免费一级片 | 亚洲精品蜜桃久久久久久 | 国内精品久久久久久久久久影视 | 丁香午夜婷婷 | 久久久久久久久久免免费精品 | 国产一级特黄特色aa毛片 | 亚洲欧美精品中文字幕 | 日日夜夜天天干 | 国产经典自拍 |