导出excel-NPOI

前台调用:

view: <a href=‘/Admin/NurseUser/Excel‘ target=‘_blank‘>导出Excel</a>或js: window.location = "/Controller/Excel";

后台代码(控制器):

public FileResult Excel(){   //第一步:以虚拟表的形式获取要导出的数据   DataTable dt = this.Service.Excel();    //第二步:创建excel文件的对象   NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();   //第三步:添加一个sheet页   NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1");   //第四步:sheet页添加栏位   NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);   row1.CreateCell(0).SetCellValue("标题一");   row1.CreateCell(1).SetCellValue("标题二");   //第五步:将数据写入sheet各个行   for(int i = 0;i<dt.Rows.Count;i++){       NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);       for (int j = 0; j < dt.Columns.Count; j++){         rowtemp.CreateCell(j - 1).SetCellValue(dt.Rows[i][j].ToString());       }   }   //第六步:写入客户端   System.IO.MemoryStream ms = new System.IO.MemoryStream();   book.Write(ms);   ms.Seek(0, SeekOrigin.Begin);   return File(ms, "application/vnd.ms-excel", "用户信息.xls");      }注意:此代码须在控制器里,在dao层 return File中的File会被当作变量处理,导致报错,其本质是一个类型。
时间: 2024-10-10 09:46:53

导出excel-NPOI的相关文章

Npoi导出Excel 实战篇(Webform)

废话不多说,直接上遇到的问题 需求:在这个界面点击导出,导出页面数据,苦于没有做过webfrom项目,弄了半天还是没想到原生态的好方法,所以在网上看了下有没有导出的好例子,结果发现有人推荐使用Npoi,抱着强烈的好奇心,就去查了下这个东东,发现果然强大,哈哈,里面集成了很多东西,下面直接进入解决问题正题: 实现过程(仅供参考) ①发现项目里面接口方法返回DataTable是带参数的,所以新增了一个无参数的方法 ②实现这个方法,重点是将查询到的结果集放大DataTable中 ③先去官网:http:

NPOI导出excel(带图片)

近期项目中用到Excel导出功能,之前都是用普通的office组件导出的方法,今天尝试用下NPOI,故作此文以备日后查阅. 1.NPOI官网http://npoi.codeplex.com/,下载最新工具包. 2.选择.net版本(例如dotnet4),引用其中的dll. 3.后台代码 using System; using System.Web; using System.Data; using System.Configuration; using System.IO; using Test

NPOI导出EXCEL 打印设置分页及打印标题

在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方法,但一直都没有起到作用.经过研究是要设置  sheet1.FitToPage = false; 而这个属性默认是true的,怪不得一直设置都不起作用. 设置打印标题用 hssfworkbook.SetRepeatingRowsAndColumns(0, 0, 5, 0, 5); 但最新版本已经有新的方法了. Sheet sheet1 = hssfworkbook.CreateSheet("She

.net mvc利用NPOI导入导出excel

1.导出Excel : 首先引用NPOI包,从这里下载>download (Action一定要用FileResult) /// <summary> /// 批量导出需要导出的列表 /// </summary> /// <returns></returns> public FileResult ExportStu2() { //获取list数据 var checkList = (from oc in db.OrganizeCustoms join o i

NPOI导出EXCEL数据量大,分多个sheet显示数据

//NPOIHelper 类关键代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.IO; using NPOI.HSSF.UserModel; using System.Collections; using System.Web; namespace Yikeba_htmlConverter { publi

NPOI根据模板导出Excel

上篇讲到使用Office Com组件的方式导出Excel,本篇讲一种个人认为更普遍的方式:NPOI,它无需服务器上安装Office,如果玩NPOI比较熟的话,个人更推荐使用这种方式. 本篇将介绍基本的导出Excel的方法,和合并单元格,设置单元格样式和如何插入图片等. 1.添加对NPOI.dll的引用,引入命名空间: 1 using NPOI; 2 using NPOI.HPSF; 3 using NPOI.HSSF.UserModel; 4 using NPOI.POIFS.FileSyste

ASP.NET导出Excel(利用NPOI和EPPlus库,无需安装Office)

网上提供了很多Asp.net中操作Excel的方法,其中大部分是调用微软的Office组件,下面提供三个无须安装Office即可从Asp.net输出Excel的方法. 1 简单方法 //下面代码输出的Excel有三列(姓名.年龄.性别)//列之间用\t隔开StringWriter sw = new StringWriter();sw.WriteLine("姓名\t年龄\t性别"); //Excel表格的列标题 sw.WriteLine("张三\t29\t男"); /

使用NPOI将数据库里信息导出Excel表格并提示用户下载

使用NPOI进行导出Excel表格大家基本都会,我在网上却很少找到导出Excel表格并提示下载的 简单的代码如下 1 //mvc项目可以传多个id以逗号相隔的字符串 2 public ActionResult execl(string ids) 3 { 4 List<PayLog> list = new List<PayLog>(); 5 string[] idsstring = ids.Split(new char[] { ',' }, StringSplitOptions.Re

初探:使用NPOI导出Excel(已有Excel模板)

/// <summary> /// 应用开源NPOI,导出Excel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnNPOIExport_Click(object sender, EventArgs e) { if (!File.Exists(sExePa

分享使用NPOI导出Excel树状结构的数据,如部门用户菜单权限

大家都知道使用NPOI导出Excel格式数据 很简单,网上一搜,到处都有示例代码. 因为工作的关系,经常会有处理各种数据库数据的场景,其中处理Excel 数据导出,以备客户人员确认数据,场景很常见. 一个系统开发出来,系统要运行起来,很多数据要初始化,这个时候也是需要客户提供各种业务的基础数据.客户提供的数据中,其中除了word.pdf,最常见的就是Excel. 废话不多说,直接上图上代码: 如图, 左侧三列,作为 一个系统 所有菜单的树状结构. 其他列 以用户的信息(如用户名.登录名) 作为表