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

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

.NET使用NPOI讀取Word模板并替換關鍵字并下載

2019-11-14 15:51:33
字體:
來源:轉載
供稿:網友

NPOI 是 POI 項目的 .NET 版本。POI是一個開源的java讀寫ExcelWord等微軟OLE2組件文檔的項目。

使用 NPOI 你就可以在沒有安裝 Office 或者相應環境的機器上對 WORD/EXCEL 文檔進行讀寫

NPOI下載地址:http://npoi.codeplex.com/

以下代碼僅供參考,請根據實際需求進行修改。

        public MemoryStream Export()        {                  string filepath = Server.MapPath("/word/xmxx.docx");                using (FileStream stream = File.OpenRead(filepath))                {                    XWPFDocument doc = new XWPFDocument(stream);                    //遍歷段落                    foreach (var para in doc.Paragraphs)                    {                        ReplaceKey(para);                    }                    //遍歷表格                    var tables = doc.Tables;                    foreach (var table in tables)                    {                        foreach (var row in table.Rows)                        {                            foreach (var cell in row.GetTableCells())                            {                                foreach (var para in cell.Paragraphs)                                {                                    ReplaceKey(para);                                }                            }                        }                    }                    using (MemoryStream ms = new MemoryStream())                    {                        doc.Write(ms);                        return ms;                    }                }        }        PRivate void ReplaceKey(XWPFParagraph para)        {            BLL.XmxxBLL XmxxBLL = new BLL.XmxxBLL();            Model.Xmxx model = new Model.Xmxx();            model = XmxxBLL.GetModel(20);            string text = para.ParagraphText;            var runs = para.Runs;            string styleid = para.Style;            for (int i = 0; i < runs.Count; i++)            {                var run = runs[i];                text = run.ToString();                Type t = model.GetType();                PropertyInfo[] pi = t.GetProperties();                foreach (PropertyInfo p in pi)                {                    if (text.Contains("{$xmxx." + p.Name + "}"))                    {                        text = text.Replace("{$xmxx." + p.Name + "}", TM.Common.StringHelper.ToString(p.GetValue(model, null)));                    }                }                runs[i].SetText(text, 0);            }        }        protected void Button1_Click(object sender, EventArgs e)        {            using (MemoryStream ms = Export())            {                Response.ContentType = "application/vnd.ms-word";                Response.ContentEncoding = Encoding.UTF8;                Response.Charset = "";                Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("123.doc", Encoding.UTF8));                Response.BinaryWrite(Export().GetBuffer());                Response.End();            }        }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 烟台市| 军事| 治多县| 如皋市| 鄄城县| 龙南县| 永州市| 景谷| 淮北市| 兴文县| 永登县| 建阳市| 清新县| 工布江达县| 洛川县| 莒南县| 台前县| 富裕县| 江城| 四川省| 正定县| 栾川县| 丘北县| 抚州市| 蓬莱市| 南陵县| 永川市| 耿马| 大关县| 阳东县| 阿荣旗| 清河县| 昌吉市| 梓潼县| 宝山区| 绵竹市| 靖边县| 延长县| 莒南县| 濉溪县| 娱乐|