国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

使用C#操作word

2023-05-18 12:33:13
字體:
來源:轉載
供稿:網友

有時我們希望在C#程序中能夠直接操作word,實現向word中寫入數據打印或呈交給相關人員,下面就以一個例子講解了具體的操作方法。

本例演示了打開word文檔、在word文檔中創建表格,合并單元格,保存word文檔并退出等功能。

    using System;
    using System.Web;
    using Microsoft.Office.Interop.Word;

    namespace CustomFileAccess
    {
        public class WordOperator
        {
            public void CreateWord()
            {
                Microsoft.Office.Interop.Word.Application wordApp = new Application();
                Microsoft.Office.Interop.Word.Document wordDocument = new Document();
                Microsoft.Office.Interop.Word.Table wordTable;
                Microsoft.Office.Interop.Word.Table wordTableCopy;

                object myNull = System.Reflection.Missing.Value;

                object strPath = HttpContext.Current.Server.MapPath(@"WordTemplete/MyWordTemplete.doc");
                object styleName = "Table Grid 8";

                try
                {
                    wordDocument = wordApp.Documents.Open(ref strPath, ref myNull, ref myNull, ref myNull,
                        ref myNull, ref myNull, ref myNull, ref myNull, ref myNull, ref myNull, ref myNull, ref myNull,
                        ref myNull, ref myNull, ref myNull, ref myNull);

                    object start = 0;
                    object end = 0;

                    Microsoft.Office.Interop.Word.Range wordRange = wordDocument.Range(ref start, ref end);

                    wordTable = wordDocument.Tables.Add(wordRange, 3, 13, ref myNull, ref myNull);

                    wordTable.Borders.OutsideColor = WdColor.wdColorAutomatic;
                    wordTable.Borders.OutsideColorIndex = WdColorIndex.wdAuto;
                    wordTable.Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle;
                    wordTable.Borders.OutsideLineWidth = WdLineWidth.wdLineWidth050pt;

                    wordTable.Borders.InsideColor = WdColor.wdColorAutomatic;
                    wordTable.Borders.InsideColorIndex = WdColorIndex.wdAuto;
                    wordTable.Borders.InsideLineStyle = WdLineStyle.wdLineStyleSingle;
                    wordTable.Borders.InsideLineWidth = WdLineWidth.wdLineWidth050pt;

                    wordDocument.Tables[1].Cell(1, 1).Merge(wordDocument.Tables[1].Cell(2, 1));

                    wordDocument.Tables[1].Cell(1, 1).Range.Text = "cell 1, 1";
                    wordDocument.Tables[1].Cell(2, 2).Range.Text = "cell 2, 2";

                    wordDocument.Tables[1].Select();
                    wordApp.Selection.Copy();

                    wordDocument.Tables[1].Cell(1, 2).Range.Text = "The First Table";


                    object myunit = Microsoft.Office.Interop.Word.WdUnits.wdStory;
                    wordApp.Selection.EndKey(ref myunit, ref myNull);

                    wordApp.Selection.TypeParagraph();

                    wordApp.Selection.Paste();

                    wordDocument.Tables[2].Cell(1, 1).Range.Text = "The Second Table";

                    wordDocument.Save();
                }
                catch
                {
                    wordDocument.Close(ref myNull, ref myNull, ref myNull);
                    wordApp.Quit(ref myNull, ref myNull, ref myNull);
                    if (wordDocument != null)
                    {
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(wordDocument);
                        wordDocument = null;
                    }
                    if (wordApp != null)
                    {
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp);
                        wordApp = null;
                    }
                    GC.Collect();
                    throw new Exception("文檔生成失敗!");

                }
                finally
                {
                    wordDocument.Close(ref myNull, ref myNull, ref myNull);
                    wordApp.Quit(ref myNull, ref myNull, ref myNull);
                }

            }
        }
    }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通海县| 专栏| 长泰县| 龙门县| 罗城| 黄石市| 临城县| 九江县| 北流市| 公主岭市| 珠海市| 来宾市| 宜宾市| 罗山县| 奉节县| 杨浦区| 阳西县| 海阳市| 绥化市| 伊金霍洛旗| 巩义市| 关岭| 武胜县| 丘北县| 黔东| 衡南县| 昌江| 中方县| 两当县| 定结县| 乌拉特前旗| 恩平市| 合阳县| 屏山县| 曲靖市| 阳春市| 永城市| 平阳县| 西青区| 阿克陶县| 揭阳市|