.net core 导出word文档

 

Npoi导出word(Peanuts)

标签: C#npoi导出word合并列列样式
 分类:
C#(13) 

 

          一个项目,要做一个从数据库读取数据,然后导出到word,因为涉及到后台数据库的读取,决定用npoi来导出word。

         NPOI源码地址:http://npoi.codeplex.com/

        NPOI 2.0 api文档: http://www.npoi.info/npoi2tutorial

       因为npoi操作word的文章比较少,在由于版本不同,相关的函数可能不一样,这个就需要大家自己去慢慢的探索了。

      例如:作者的api文档中

c.字体加粗

r1.SetBold(true);

实际我在调用时,调用的接口是 r1c1.IsBold = 12;

我使用的版本是:NPOI v2.2.0.0

需要引用的命名空间如下

using NPOI.XWPF.UserModel;
using NPOI.OpenXmlFormats.Wordprocessing;

        

        最终效果图如下:

     

     关键代码如下:

     

[csharp]  view plain   copy
 
  1. /// <summary>  
  2.   /// 新增  
  3.   /// </summary>  
  4.   /// <param name="sender"></param>  
  5.   /// <param name="e"></param>  
  6.   protected void btnPrint_Click(object sender, EventArgs e)  
  7.   {  
  8.       //创建document对象  
  9.       XWPFDocument doc = new XWPFDocument();  
  10.       //创建段落对象  
  11.       XWPFParagraph p1 = doc.CreateParagraph();  
  12.       p1.Alignment = ParagraphAlignment.CENTER;//字体居中  
  13.       //创建run对象  
  14.       //本节提到的所有样式都是基于XWPFRun的,  
  15.       //你可以把XWPFRun理解成一小段文字的描述对象,  
  16.       //这也是Word文档的特征,即文本描述性文档。  
  17.       //来自Tony Qu http://tonyqus.sinaapp.com/archives/609  
  18.       XWPFRun runTitle = p1.CreateRun();  
  19.       runTitle.IsBold = true;  
  20.       runTitle.SetText("军检验收单");  
  21.       runTitle.FontSize = 16;  
  22.       runTitle.SetFontFamily("宋体", FontCharRange.None);//设置雅黑字体  
  23.   
  24.       XWPFParagraph p2 = doc.CreateParagraph();  
  25.       XWPFRun run1 = p2.CreateRun();  
  26.       run1.SetText(" 军检项目号:");  
  27.       run1.FontSize = 12;  
  28.       run1.SetFontFamily("华文楷体", FontCharRange.None);//设置雅黑字体  
  29.  
  30.       #region 头部(6 rows)  
  31.   
  32.       //基本row12,列5;头部6行,4列  
  33.       XWPFTable tableTop = doc.CreateTable(6, 5);  
  34.       tableTop.Width = 1000 * 5;  
  35.       tableTop.SetColumnWidth(0, 1300);/* 设置列宽 */  
  36.       tableTop.SetColumnWidth(1, 500);/* 设置列宽 */  
  37.       tableTop.SetColumnWidth(2, 1000);/* 设置列宽 */  
  38.       tableTop.SetColumnWidth(3, 500);/* 设置列宽 */  
  39.       tableTop.SetColumnWidth(4, 1700);/* 设置列宽 */  
  40.   
  41.   
  42.       tableTop.GetRow(0).MergeCells(1, 4);/* 合并行 */  
  43.       tableTop.GetRow(0).GetCell(0).SetParagraph(SetCellText(doc, tableTop, "产品名称"));  
  44.       tableTop.GetRow(0).GetCell(1).SetParagraph(SetCellText(doc, tableTop, "              "));  
  45.   
  46.       tableTop.GetRow(1).MergeCells(1, 4);  
  47.       tableTop.GetRow(1).GetCell(0).SetParagraph(SetCellText(doc, tableTop, "项目名称"));  
  48.       tableTop.GetRow(1).GetCell(1).SetParagraph(SetCellText(doc, tableTop, 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值