应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

NPOI导出excel。根据模板导出Excel

6472人阅读 2019/1/27 23:32 总访问:5181937 评论:0 收藏:0 手机
分类: .NET

使用NPOI导出excel

  1.  /// <summary>
  2.         /// 导出excel(下载excel)
  3.         /// </summary>
  4.         public void ToExcel()
  5.         {
  6.             HSSFWorkbook workbook = new HSSFWorkbook();
  7.             HSSFSheet sheet = workbook.CreateSheet() as HSSFSheet;
  8.             HSSFRow row = sheet.CreateRow(0as HSSFRow;
  9.             HSSFCell cell = row.CreateCell(0as HSSFCell;
  10.             cell.SetCellValue("用户名");
  11.             HSSFCellStyle style = workbook.CreateCellStyle() as HSSFCellStyle;
  12.             style.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER;
  13.             //合并单元格
  14.             sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0000));
  15.             sheet.SetColumnWidth(01000);
  16.             //导出excel
  17.             Response.AddHeader("Content-Disposition""attachment; filename=用户.xls");
  18.             MemoryStream ms = new MemoryStream();
  19.             workbook.Write(ms);
  20.             Response.BinaryWrite(ms.ToArray());
  21.         }

.net core 中导出excel参考:https://www.tnblog.net/aojiancc2/article/details/7787


更多设置可以参考:

导出增加样式

  1. public ActionResult OutPutExcel()
  2.         {
  3.             //在内存中构建一个excel
  4.             HSSFWorkbook workbook = new HSSFWorkbook();
  5.             //在创建一个excel的表
  6.             HSSFSheet sheet = workbook.CreateSheet("学生信息表"as HSSFSheet;
  7.             //创建行
  8.             HSSFRow headerrow = sheet.CreateRow(0as HSSFRow;
  9.             //设置行高
  10.             headerrow.Height = 1200;
  11.             for (int i = 0; i < 3; i++)
  12.             {
  13.                 sheet.SetColumnWidth(i, 220 * 25);
  14.             }
  15.             HSSFCell headcell = headerrow.CreateCell(0as HSSFCell;
  16.             headcell.SetCellValue("重庆优质学生信息公示\nQQ:48672901");
  17.             //头部样式
  18.             HSSFCellStyle headCellStyle = workbook.CreateCellStyle() as HSSFCellStyle;
  19.             headCellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER;
  20.             headCellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;
  21.             headCellStyle.WrapText = true;
  22.             //设置字体样式
  23.             HSSFFont font = workbook.CreateFont() as HSSFFont;
  24.             font.Boldweight = 800;
  25.             font.FontHeight = 350;
  26.             font.Color = HSSFColor.RED.index;
  27.             font.FontName = "微软雅黑";
  28.             headCellStyle.SetFont(font);
  29.             headcell.CellStyle = headCellStyle;
  30.             //创建行
  31.             HSSFRow row = sheet.CreateRow(1as HSSFRow;
  32.             //创建列(填充数据)
  33.             row.CreateCell(0).SetCellValue("用户名");
  34.             HSSFCell cell = row.CreateCell(1as HSSFCell;
  35.             cell.SetCellValue("学号");
  36.             row.CreateCell(2).SetCellValue("年龄");
  37.             row.CreateCell(3).SetCellValue("班级");
  38.             //合并单元格(合并第一行的第1列到第3列)
  39.             sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0003));
  40.             //合并单元格(合并行,合并第一行的第2到4列)
  41.             //sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(2, 4, 0, 0));
  42.             //创建一个样式类
  43.             HSSFCellStyle cellstyle = workbook.CreateCellStyle() as HSSFCellStyle;
  44.             //水平居中
  45.             cellstyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;
  46.             //垂直居中
  47.             cellstyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER;
  48.             cell.CellStyle = cellstyle;
  49.             //把内存流做为文件下载中转
  50.             MemoryStream memoryStream = new MemoryStream();
  51.             workbook.Write(memoryStream);
  52.             Response.AddHeader("Content-Disposition""attachment; filename=学生信息表.xls");
  53.             Response.BinaryWrite(memoryStream.ToArray());
  54.             return View();
  55.         }


根据模板导出

  1.         public void OutPutExcelByTemp()
  2.         {
  3.             string url = Server.MapPath("~/excel/temp.xls");
  4.             FileStream filestream = new FileStream(url, FileMode.Open);
  5.             //根据文件流加载excel
  6.             HSSFWorkbook workbook = new HSSFWorkbook(filestream);
  7.             //获取表
  8.             HSSFSheet sheet = workbook.GetSheet("2021年度财务报表"as HSSFSheet;
  9.             for (int i = 3; i < 10; i++)
  10.             {
  11.                 HSSFRow row = sheet.CreateRow(i) as HSSFRow;
  12.                 row.Height = 700;
  13.                 for (int j = 0; j < 8; j++)
  14.                 {
  15.                     HSSFCell cell = row.CreateCell(j) as HSSFCell;
  16.                     //创建一个样式类
  17.                     HSSFCellStyle cellstyle = workbook.CreateCellStyle() as HSSFCellStyle;
  18.                     //水平居中
  19.                     cellstyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;
  20.                     //垂直居中
  21.                     cellstyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER; 
  22.                     cell.SetCellValue("富婆" + i * j);
  23.                     cell.CellStyle = cellstyle;
  24.                 }
  25.             }
  26.             //把内存流做为文件下载中转
  27.             MemoryStream memoryStream = new MemoryStream();
  28.             workbook.Write(memoryStream);
  29.             Response.AddHeader("Content-Disposition""attachment; filename=重庆富婆通讯录.xls");
  30.             Response.BinaryWrite(memoryStream.ToArray());
  31.         }


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

NPOI操作Excel 2007/2010版本

HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xlsXSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx先...

NPOI读取ExcelExcel 导入。日期类型读取

NPOI是一个优秀的操作excel的库,可以很方便的进行excel的读取与导出NPOI读取excelpublicActionResultReadExcel() { //打...

使用NPOI导出Excel(包括图片)

Excl模板导出相信我们都会,那么模板上要导出图片呢?嗯~还是来个例子:准备工作:首先要引用NPOI包:然后获取数据集(我这...

使用NPOI插件读取Excel数据

方法步奏: 1.导入NPOI插件和文件IO 2.获取文件路径 3.打开文件 4.通过文件夹打开表格 ...

C使用NPOI导出 (Execl.xls)类型文件(一)

公司业务一直处于表格居多的情况于是,导出成了常态,今天记录一下导出方法(前几天还说要合并行什么的太难了)1,需自行到...

NPOIExcel的读取

publicActionResultIndex() { //打开excel所在的位置 FileStreamstream=newFileStream(Server.MapPath(&quot;~/Content/...

NPOI导入万行Excel优化

如果数据量比较大,导入excel会很慢,可以使用导入csv文件,这样效率就会快很多了

NPOI导出Excel

show your code:publicActionResultOutPutExcel() { //在内存中构建一个excel HSSFWorkbookworkbook=newHSSFWorkbook();...

Docker下配置.NET Core NPOI 环境

Docker下配置.NET Core NPOI 环境[TOC] 问题原因在通过NPOI在linux环境下进行打包时会出现环境问题。[[NPOI ERROR]]:The t...

NPOI操作Excel报错:ICSharpCode.SharpZipLib.Zip.ZipException:“Wrong Local header signature

读取的版本与使用的方法不匹配造成的HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xlsXSSFWorkbook:是操...

根据客户端勾选信息,根据模板批量导出word

///&lt;summary&gt; ///导出 ///&lt;paramname=&quot;param&quot;&gt;前端值数组&lt;/param&gt; ///&lt;returns&gt;&lt;...

导出SQL脚本小程序

usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; ...

.NET mvc Excel的导入导出解析

“为什么越靠北方地区的人性格越直接?”“天寒地冻的,谁有时间跟你磨叽?”今天我们讲解的内容是关于在mvc框架里对Excel...

C导出 Execl 类型文件(二)动态合并表格(更新了)

希望我的一些想法能让你们碰撞出属于你的火花看这篇之前可以看看上一篇http://www.tnblog.net/15736469932/article/details...

Camtasia 9如何导出MP4格式视频

要先把视频拖到下面去,导出的是右边那个框框播放的视频。要先把视频拖到下面去右边的框框才会播放你想要的视频,而不是双...