日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

C#操作word封裝

系統 2200 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條評論
主站蜘蛛池模板: 海原县| 定日县| 武功县| 旅游| 邵阳市| 彝良县| 洛扎县| 合江县| 永春县| 同心县| 铜川市| 丰城市| 汽车| 临高县| 天津市| 沾益县| 凤阳县| 和平县| 游戏| 黄浦区| 平顶山市| 伽师县| 策勒县| 伊金霍洛旗| 鹤山市| 耒阳市| 南充市| 苍溪县| 紫金县| 忻城县| 平邑县| 镇雄县| 蒙山县| 东源县| 延津县| 肇庆市| 翼城县| 三亚市| 宁国市| 青铜峡市| 淮滨县|