Esempio n. 1
0
        public static void WordExport()
        {
            string filepath = HttpContext.Current.Server.MapPath("~/simpleTable.docx");
            var    tt       = new WordReplace {
                name = "cjc", age = 29
            };

            using (var stream = System.IO.File.OpenRead(filepath))
            {
                var doc = new NPOI.XWPF.UserModel.XWPFDocument(stream);
                //遍历段落
                foreach (var para in doc.Paragraphs)
                {
                    WorkReplaceKey(para, tt);
                }                    //遍历表格
                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)
                            {
                                WorkReplaceKey(para, tt);
                            }
                        }
                    }
                }

                var out1 = new System.IO.FileStream(HttpContext.Current.Server.MapPath("~/simpleTable" + DateTime.Now.Ticks + ".docx"), System.IO.FileMode.Create);
                doc.Write(out1);
                out1.Close();
            }
        }
Esempio n. 2
0
        public void Word()
        {
            using (var stream = System.IO.File.OpenRead(@"d:\1.docx"))
            {
                var doc = new NPOI.XWPF.UserModel.XWPFDocument(stream);
                foreach (var para in doc.Paragraphs)
                {
                    //string text = para.ParagraphText; //获得文本
                    //string styleid = para.Style;

                    //for (int i = 0; i < runs.Count; i++)
                    //{
                    //    var run = runs[i];
                    //    text = run.ToString(); //获得run的文本
                    //}

                    para.ReplaceText("[关键字]", "[替换]");
                }

                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)
                            {
                                //string text = para.ParagraphText;
                                //处理段落

                                para.ReplaceText("[关键字]", "[替换]");
                            }
                        }
                    }
                }


                //插入图片
                var gfs = new System.IO.FileStream("f:\\pic\\1.jpg", System.IO.FileMode.Open, System.IO.FileAccess.Read);
                var gp  = doc.CreateParagraph();
                var gr  = gp.CreateRun();
                gr.AddPicture(gfs, (int)NPOI.XWPF.UserModel.PictureType.JPEG, "1.jpg", 1000000, 1000000);
                gfs.Close();

                var sw = System.IO.File.OpenWrite(@"d:\new.docx");
                doc.Write(sw);
                sw.Close();

                //var newDoc = new NPOI.XWPF.UserModel.XWPFDocument();
                //var sw = System.IO.File.OpenWrite("newSave.docx");
                //newDoc.
                //newDoc.Write(sw);
                //sw.Close();
            }
        }