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

首頁 > 學院 > 開發設計 > 正文

關于c#生成word。

2019-11-17 02:26:41
字體:
來源:轉載
供稿:網友

關于c#生成Word

需求:需要把數據做成這樣的效果、一個頁面展示一個r單子數據。

 object filename = "";            Object Nothing = System.Reflection.Missing.Value;            Word.application WordApp = new Word.ApplicationClass();//實例化word            HY.Common.Utils.Logger.Log.Info("WordApp:" + WordApp);            Word._Application oWord = new Word.Application();            //創建Word文檔            Word._Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);            try            {                SetPage(WordApp, WordDoc, "橫板", 21, 29.7, 1, 1, 1, 1);                HY.Common.Utils.Logger.Log.Info("WordDoc:" + WordDoc);                string name = "審批表" + DateTime.Now.ToString("yyyyMMdd") + DateTime.Now.ToLongTimeString().Replace(":", "") + ".docx";//創建生成文件名字                HY.Common.Utils.Logger.Log.Info("name" + name);                string CreateFilePath = ConfigurationManager.AppSettings["CreateFilePath"];                HY.Common.Utils.Logger.Log.Info("CreateFilePath" + CreateFilePath);                filename = CreateFilePath + name; //文件保存路徑                HY.Common.Utils.Logger.Log.Info("filename" + filename);                string[] SerialNumberArr = Context.Request["SerialNumber"].Substring(0, Context.Request["SerialNumber"].ToString().Length - 1).Split(',');                string[] PRocInstIDArr = Context.Request["ProcInstID"].Substring(0, Context.Request["ProcInstID"].ToString().Length - 1).Split(',');//掛賬Id                string[] PaymentProcInstIDArr = Context.Request["PaymentProcInstID"].Substring(0, Context.Request["PaymentProcInstID"].ToString().Length - 1).Split(',');//付款Id                for (int i = 0; i < ProcInstIDArr.Length; i++)                {                    #region 打印                    InsertText(WordDoc, "                 審批表              ", new System.Drawing.Font("微軟雅黑", 12, System.Drawing.FontStyle.Bold), Word.WdParagraphAlignment.wdAlignParagraphLeft, false);                    InsertText(WordDoc, "", new System.Drawing.Font("微軟雅黑", 12, System.Drawing.FontStyle.Bold), Word.WdParagraphAlignment.wdAlignParagraphLeft, true);                    InsertText(WordDoc, "申請人信息", new System.Drawing.Font("宋體", 12, System.Drawing.FontStyle.Bold), Word.WdParagraphAlignment.wdAlignParagraphLeft, false);                    if (ProcInstIDArr.Length - 1 != i)                    {                        InsertBreak(WordDoc, Nothing);                    }                    #endregion                }                WordDoc.SaveAs(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);                WordApp = null;                HY.Common.Utils.Logger.Log.Info("SaveAs" + filename);            }            catch (Exception ex)            {                HY.Common.Utils.Logger.Log.Info("error" + e.ToString());            }            finally            {                WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);                oWord.Quit(ref Nothing, ref Nothing, ref Nothing);                KillWordProcess();            }
   #region  - 插入文本 -        public static bool InsertText(Word._Document oDoc, string strText, System.Drawing.Font font, Word.WdParagraphAlignment wdAlign, bool isAftre)        {            try            {                Word.Range rng = oDoc.Content;                int lenght = oDoc.Characters.Count - 1;                object start = lenght;                object end = lenght;                rng = oDoc.Range(ref start, ref end);                if (isAftre == true)                {                    strText += "/r/n";                }                rng.Text = strText;                rng.Font.Name = font.Name;                rng.Font.Size = font.Size;                if (font.Style == System.Drawing.FontStyle.Bold) { rng.Font.Bold = 1; } //設置單元格中字體為粗體                rng.ParagraphFormat.Alignment = wdAlign;//設置文本對齊格式(左對齊,右對齊,居中)                return true;            }            catch (Exception)            {                return false;            }        }        #endregion
View Code
   #region - 插入分頁符 -        public static void InsertBreak(Word._Document WordDoc, Object Nothing)        {            Word.Paragraph para;            para = WordDoc.Content.Paragraphs.Add(ref Nothing);            object pBreak = (int)Word.WdBreakType.wdSectionBreakNextPage;            para.Range.InsertBreak(ref pBreak);        }        public static void DeleteBreak(Word.Application wordApp, Object Nothing)        {            Word.Range range1, range2;            // 跳轉種類            object objWhat = Word.WdGoToItem.wdGoToPage;            // 跳轉位置            object objWhich = Word.WdGoToDirection.wdGoToLast;            // 轉向最后一頁            wordApp.Selection.GoTo(ref objWhat, ref objWhich, ref Nothing, ref Nothing);            // Range取得            range1 = wordApp.Selection.Range;            range2 = wordApp.ActiveDocument.Range(ref Nothing, ref Nothing);            object start = range1.Start;            object end = range2.End;            // 刪除最后一頁            wordApp.ActiveDocument.Range(ref start, ref end).Delete(ref Nothing, ref Nothing);        }        #endregion
View Code
    #region - 頁面設置 -        public static void SetPage(Word.Application oWord, Word._Document oDoc, string orientation, double width, double height, double topMargin, double leftMargin, double rightMargin, double bottomMargin)        {            Logger.Log.Info("Word.Name" + oWord.Name);            Logger.Log.Info("oDoc" + oDoc);            oDoc.PageSetup.PageWidth = oWord.CentimetersToPoints((float)width);            oDoc.PageSetup.PageHeight = oWord.CentimetersToPoints((float)height);            if (orientation == "橫板")            {                oDoc.PageSetup.Orientation = Microsoft.Office.Interop.Word.WdOrientation.wdOrientLandscape;            }            oDoc.PageSetup.TopMargin = (float)(topMargin * 25);//上邊距             oDoc.PageSetup.LeftMargin = (float)(leftMargin * 25);//左邊距             oDoc.PageSetup.RightMargin = (float)(rightMargin * 25);//右邊距             oDoc.PageSetup.BottomMargin = (float)(bottomMargin * 25);//下邊距        }        #endregion
View Code
    #region - 清除word進程 -        /**/        /// <summary>        /// 清除word進程        /// </summary>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武功县| 阿城市| 金昌市| 栾川县| 富川| 抚松县| 汉阴县| 昌宁县| 临漳县| 龙胜| 饶平县| 龙川县| 元江| 德昌县| 莱阳市| 承德市| 玉林市| 怀安县| 穆棱市| 四会市| 乌兰县| 塔河县| 西乌珠穆沁旗| 阿城市| 新津县| 云阳县| 澳门| 阿尔山市| 且末县| 碌曲县| 贡嘎县| 洛隆县| 佛冈县| 手游| 建始县| 富平县| 霍州市| 科技| 枞阳县| 宁陕县| 定远县|