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(); } }
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(); } }