NPOI导出Word并插入表格和图片
一、NPOI导出Word
NPOI导出Word并插入图片,会遇到打开显示不出来的图片的情况,下面写的例子,在本地或服务器上导出都显示正常(亲测有效)。
二、引用
引用文件NPOI.dll、NPOI.OOXML.dll、NPOI.OpenXml4Net.dll、NPOI.OpenXmlFormats.dll
using NPOI.HPSF;
using NPOI.HSSF.Util;
using NPOI.XWPF.UserModel;
三、创建文档、插入表格和图片
XWPFDocument doc = new XWPFDocument();
XWPFTable table = doc.CreateTable(dt.Rows.Count + 1, dt.Columns.Count);
//增加表头信息
for (int i = 0; i < dt.Columns.Count; i++)
{var title = table.GetRow(0).GetCell(i);XWPFParagraph par = title.AddParagraph();XWPFRun run = par.CreateRun();par.Alignment =ParagraphAlignment.CENTER;//水平居中显示run.FontFamily = "宋体";run.FontSize = 18;run.SetText(dt.Columns[i].ColumnName);
}
//增加内容信息
for (int i = 0; i < dt.Rows.Count; i++)
{for (int j = 0; j < dt.Columns.Count; j++){var Cell = table.GetRow(i + 1).GetCell(j);XWPFParagraph par = Cell.AddParagraph();XWPFRun run = par.CreateRun();par.Alignment =ParagraphAlignment.CENTER;//水平居中显示Cell.SetVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);//垂直居中string Vt = Convert.ToString(dt.Rows[i][j]);if (j < dt.Columns.Count - 1){run.FontFamily = "宋体";run.FontSize = 16;run.SetText(Vt);}else{//插入图片 using (FileStream fsImg = new FileStream(dt.Rows[i][j].ToString(), FileMode.OpenOrCreate, FileAccess.Read)){run.AddPicture(fsImg, (int)PictureType.PNG, i + "_" + j + ".png", (int)(200.0 * 9525), (int)(200.0 * 9525)); //长和宽必须乘上9525}}}
}
using (MemoryStream ms = new MemoryStream())
{doc.Write(ms);var buf = ms.ToArray();//流方式下载文件HttpContext.Current.Response.ContentType = "application/octet-stream";//通知浏览器下载文件而不是打开HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("xxx.doc", System.Text.Encoding.UTF8));HttpContext.Current.Response.BinaryWrite(buf);HttpContext.Current.Response.Flush();HttpContext.Current.Response.End();ms.Flush();ms.Position = 0;
}
NPOI导出Word并插入表格和图片相关推荐
- NPOI导出word,NPOI导出word表格,NPOI复制table表格 XWPFDocument中XWPFTable
NPOI导出word,NPOI导出word表格,NPOI复制table表格 XWPFDocument中XWPFTable 使用NPOI可以对Word中的文本做替换,当遇到表格时,单个表格也可以循环遍历 ...
- MFC创建Word文档,进行插入表格、图片操作
VS2013+office2013实现Word文档的创建,以及实现插入表格.图片的操作,在数据保存完毕后会弹出窗口选择保存路径,可以保存成doc和PDF的格式. 首先在界面上添加一个保存按钮,然后添加 ...
- QT操作Word,插入表格
最近在做QT导出word报表,发现网上的资源不是很多,也浪费了很多时间,我自己做了一份demo,将会详细讲述如何做出需要样式的报表.在网上很容易查到java或者其他语言操作word的接口函数,但是QT ...
- 【Python】批量导出word文档中的图片、嵌入式文件
Python 批量导出word文档中的图片.嵌入式文件 需求 学生试卷中的题目有要提交截图的,也有要提交文件的,为了方便学生考试,允许单独交或者嵌入Word中提交,那么事后如何整理学生的答案?单独提交 ...
- POI导出word文件中表格合并方法(行合并,列合并)
项目中遇到记录一下 POI导出word文件中表格合并方法(行合并,列合并) . // word表格跨列合并单元格//row 指定行.fromCell 开始列数.toCell 结束列数.public v ...
- 计算机绘制表格教案,word中插入表格教案
篇一:word中插入表格教学反思 <Word表格的制作>教学反思 计算机课程对于培养学生的科学精神.创新精神和实践能力,提高学生对信息社会的适应能力等方面都具有重要的意义.在计算机课的教学 ...
- vue 导出word文档(包括图片)
vue 导出word文档(包括图片) 1.打开终端,安装依赖 -- 安装 docxtemplater npm install docxtemplater pizzip --save-- 安装 jszi ...
- 批量替换Word中的表格为图片并保存
之前我在<将Word中的表格以图片形式复制到微信发送>分享了如何将指定word中的表格以图片形式粘贴,参考:https://xxmdmst.blog.csdn.net/article/de ...
- java freemark导出word (模板、单张图片、多张图片源码)
java freemark导出word (模板.单张图片.多张图片源码) 首先模板设置 代码编辑 设置word只读.全部 环境设置.jar包 模板设置 ** 设置模板然后另存为 这里一定要选择对xml ...
- word课程表设置符号与编号_6上 第1课 我的课程表——word中插入表格教案.doc
6上 第1课 我的课程表--word中插入表格教案.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 1制 作 我 的 课 程 表 -- ...
最新文章
- 拼多多“砍价免费拿”始终差“0.09%”遭起诉,官方回应:活动真实
- mysql+PHP源码编译安装
- 算法基础课-动态规划-区间dp-AcWing 282. 石子合并:区间dp
- matlab遗传算法m文件,matlab上安装遗传算法工具箱
- xenserver PXE安装系统错误的解决
- MySQ软件的卸载-通过控制面板方式
- 冷却水的循环方式有哪几种_关于钣金件常用的连接方式,你知道下列的哪几种...
- 【English Email】CIP payouts now in Workday
- mysql支持cube_mysql聚合函数rollup和cube
- 23种设计模式之适配器模式
- munin mysql_munin 监控 mysql 2种方法
- c语言复杂函数转换,详解C语言常用的一些转换工具函数.pdf
- 【路径规划】基于matlab遗传算法求解同时取送货车辆路径问题【含Matlab源码 1072期】
- 安徽大学江淮学院计算机作业,安徽大学江淮学院
- 联通loid认证_光纤LOID 认证 需要填写的用户名是什么?有人说不需要填写密码。为什么我每次认证都是超时?...
- java学习笔记总结,持续更新中
- scala面向对象总结
- vue 仿网易云音乐项目
- PDF怎么转Word?免费在线 PDF 转 Word 方法分享
- dau计算-预测日活
热门文章
- CF1090H Linearization
- angular烂笔头
- cscd期刊计算机排名,计算机CSCD核心期刊.pdf
- 基于java的在线医院挂号系统设计(含源文件)
- Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist: No URLs
- IAR For MSP430编译后菜单栏丢失解决方法
- 妙!云服务器远程登录,本地听声音
- choco安装软件包指定版本
- springboot毕设项目养老院信息管理系统kak2w(java+VUE+Mybatis+Maven+Mysql)
- html游戏加载不出图片吗,uc浏览器加载不出图片怎么办?uc浏览器加载不出图片的解决方法...