C# WebForm 使用NPOI 2 生成简单的word文档(.docx)

  使用NPOI可以方便的实现服务端对Word、Excel的读写。要实现对Word的读写操作,需要引用NPOI.OOXML.dll,应用命名空间XWPF。

  本文使用NPOI 2.0实现对Word的基本生成、下载操作。 NOPI 2.0 下载地址:http://npoi.codeplex.com/downloads/get/764162

虽然现在最新版本为NPOI 2.1.1 ,但笔者使用2.1.1的NPOI.OOXML.dll时,发现无法实现段落格式化功能,故推荐使用本文版本。

需要添加的命名空间:

1 using System.IO;
2 using NPOI.XWPF.UserModel;

代码:

 1         XWPFDocument doc = new XWPFDocument();      //创建新的word文档
 2
 3         XWPFParagraph p1 = doc.CreateParagraph();   //向新文档中添加段落
 4         p1.SetAlignment(ParagraphAlignment.CENTER); //段落对其方式为居中
 5
 6         XWPFRun r1 = p1.CreateRun();                //向该段落中添加文字
 7         r1.SetText("测试段落一");
 8
 9         XWPFParagraph p2 = doc.CreateParagraph();
10         p2.SetAlignment(ParagraphAlignment.LEFT);
11
12         XWPFRun r2 = p2.CreateRun();
13         r2.SetText("测试段落二");
14
15
16         FileStream sw = File.Create("cutput.docx"); //...
17         doc.Write(sw);                              //...
18         sw.Close();                                 //在服务端生成文件
19
20         FileInfo file = new FileInfo("cutput.docx");//文件保存路径及名称
21                                                     //注意: 文件保存的父文件夹需添加Everyone用户,并给予其完全控制权限
22         Response.Clear();
23         Response.ClearHeaders();
24         Response.Buffer = false;
25         Response.ContentType = "application/octet-stream";
26         Response.AppendHeader("Content-Disposition", "attachment;filename="
27             + HttpUtility.UrlEncode("output.docx", System.Text.Encoding.UTF8));
28         Response.AppendHeader("Content-Length", file.Length.ToString());
29         Response.WriteFile(file.FullName);
30         Response.Flush();                           //以上将生成的word文件发送至用户浏览器
31
32         File.Delete("cutput.docx");                 //清除服务端生成的word文件

页面效果:

生成的word:

时间: 2024-09-28 07:46:34

C# WebForm 使用NPOI 2 生成简单的word文档(.docx)的相关文章

自动生成并导出word文档

今天很荣幸又破解一现实难题:自动生成并导出word文档 先看页面效果: word效果: 代码: 先搭建struts2项目 创建action,并在struts.xml完成注册 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

PHPWord生成多篇word文档的时候目录文件冗余bug解决方案

phpword的开源链接在这里:https://github.com/PHPOffice/PHPWord,PHPword是很多服务端技术为php的网站上的word下载的功能支撑技术. 其原理并不难以理解,因为word可以解析xml形式的数据,所以phpword本质是生成一个xml文件. 相关介绍可以参考:https://support.office.com/zh-cn/article/Open-XML-%E6%A0%BC%E5%BC%8F%E5%92%8C%E6%96%87%E4%BB%B6%E

用java将简单的word文档换成pdf文档

用java将简单的word文档换成pdf文档的方式很多,因为很多都没有实际测试过,所以这里就先泛泛的说一下 整体上来看分两种: 1.纯java代码实现,有很多优秀的开源软件可以用,比如poi,itext,xdocreport,docx4j等等.主要缺点是只能处理简单的文档 2.通过在操作系统安装转换软件,在java代码中调用软件命令来实现转换.常用的有OpenOffice,Pandoc,Jacob(限于Windows环境)等软件,优点是对于复杂的文档也能很好的处理.缺点是会麻烦一点,有的不能跨平

NPOI读写Excel表格、Word文档

NPOI是从POI移植过来的.NET版本,专门对Word.Excel进行读写操作的一个开源项目 下面就试着怎么用我们的C#来进行读写操作,我现在用的Office版本是2016 我们首先通过Nuget把NPOI引入到我们的项目中 1.读取Excel表格 using(FileStream fs=new FileStream(@"C:\Users\BIDIANQING\Desktop\1.xlsx", FileMode.Open,FileAccess.Read)) { XSSFWorkboo

.Net MVC+NPOI实现下载自定义的Word文档

我们浏览很多网站时都会看到下载文件的功能(图片.word文档等),好巧不巧的是贫道近日也遇到了这个问题,于是写一篇博客记录一下. 技术点:MVC.NPOI.Form表单. 具体如何实现,待贫道喝一口水慢慢道来. 1. 引入NPOI的Nuget包,这个相信道友们都不陌生. 2.添加控制器及方法 public class DownloadController : Controller { // GET: Download public ActionResult Index() { return Vi

Java中用Apache POI生成excel和word文档

概述: 最近在做项目的过程中遇到了excel的数据导出和word的图文表报告的导出功能,最后决定用Apache POI来完成该项功能.本文就项目实现过程中的一些思路与代码与大家共享,同时,也作为自己的一个总结,以备后用. 功能: 1.从数据库查询数据导出为excel: 2.导出word的包括,内容有文字,图片,表格等. 效果: 导出excel 导出word 实现代码: 1.导出excel package beans.excel; import java.io.FileOutputStream;

根据Excel的内容和word模板生成对应的word文档

Sub setname() Dim I As Integer Dim pspname As String Dim pspnumber As String Dim path As String Dim srcPath As String Dim srcPath2 As String Dim wordApp As Object Dim wordDoc As Object Dim wordArange As Object Dim wordSelection As Object Dim ReplaceS

基于C#.NET的动态Word文档生成及数据填充研究

利用C#.NET设计的管理信息系统应用非常广泛,但其报表往往是利用水晶报表或其它工具形成固定式报表,这样不便于修改和电子文档的保存及传递,如果能将输出结果写入到Word文档中这样就解决了这个问题.现从以下几个方面介绍如何利用C#.NET来控制Word文档的操作.1 利用C#.NET生成和设置Word文档我们用VS2008中的C#.NET来实现的,所以要安装好VS2008.在编程之前必须从“项目”菜单上“添加引用”对话框的“COM”选硕卡中添加对类型库的引用,并在程序首部加入“usingWord;

php在程序中把网页生成word文档并提供下载

在这篇文章中主要解决两个问题: 1:在php中如何把html中的内容生成到word文档中 2:php把html中的内容生成到word文档中时,不居中显示问题,即会默认按照web视图进行显示. 3:php把html中的内容生成到word文档中时,相关样式不兼容问题 正文:    echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"  xmlns:w="urn:schemas-microsoft-com: