ASP.NET MVC导出Excel

首先下载  NPOI.dll 引用到项目中

建议下载地址:http://download.csdn.net/detail/pukuimin1226/5851747

前台代码:

<a href='/Admin/NurseUser/Excel' target='_blank'>导出Excel</a>

后台代码:

public FileResult Excel()
{
//获取list数据
var list = bll.NurseUserListExcel("", "ID asc"); //创建Excel文件的对象
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
//添加一个sheet
NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1"); //给sheet1添加第一行的头部标题
NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
row1.CreateCell(0).SetCellValue("ID");
row1.CreateCell(1).SetCellValue("用户姓名");
row1.CreateCell(2).SetCellValue("电话");
row1.CreateCell(3).SetCellValue("注册时间");
row1.CreateCell(4).SetCellValue("邀请人ID");
row1.CreateCell(5).SetCellValue("邀请人名称");
row1.CreateCell(6).SetCellValue("邀请人电话");
row1.CreateCell(7).SetCellValue("总积分");
row1.CreateCell(8).SetCellValue("已使用积分");
row1.CreateCell(9).SetCellValue("可用积分");
//将数据逐步写入sheet1各个行
for (int i = 0; i < list.Count; i++)
{
NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);
rowtemp.CreateCell(0).SetCellValue(list[i].ID);
rowtemp.CreateCell(1).SetCellValue(list[i].Name);
rowtemp.CreateCell(2).SetCellValue(list[i].Phone);
rowtemp.CreateCell(3).SetCellValue(list[i].CreateTime.Value.ToString());
rowtemp.CreateCell(4).SetCellValue(list[i].InviterID.Value);
rowtemp.CreateCell(5).SetCellValue(list[i].iName);
rowtemp.CreateCell(6).SetCellValue(list[i].iPhone);
rowtemp.CreateCell(7).SetCellValue(list[i].IntegralSum);
rowtemp.CreateCell(8).SetCellValue(list[i].IntegralSy);
rowtemp.CreateCell(9).SetCellValue(list[i].IntegralKy);
}
// 写入到客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
ms.Seek(0, SeekOrigin.Begin);
return File(ms, "application/vnd.ms-excel", "用户信息.xls");
} 2.动态生成Excle

public MemoryStream GetExecelByDT(DataTable dt) //返回的是文件流
{
HSSFWorkbook book = new HSSFWorkbook();
ISheet sheet = book.CreateSheet("2019项目列表情况表");
IRow ColumnsName = sheet.CreateRow(0);
//获取列名并且向Excel中填充列
for (int i = 0; i < dt.Columns.Count; i++)
{
ColumnsName.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
}
//向Excel中填充数据
//循环每一行
for (int i = 0; i < dt.Rows.Count; i++)
{
IRow DataRow = sheet.CreateRow(i + 1);
//循环每一列
for (int j = 0; j < dt.Columns.Count; j++)
{
DataRow.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
}
}
MemoryStream ms = new MemoryStream();
book.Write(ms);
ms.Seek(0, SeekOrigin.Begin);
return ms;
}

public void main()

{

//保存文件路径
string fullPath = System.IO.Path.Combine("文件路径" + 文件名.xlsx);

//根据数据生成文件流
MemoryStream exportData = new ExcelRanderBLL().GetExecelByDT(dt);

FileStream file = new FileStream(fullPath, FileMode.Create, FileAccess.Write);
//将文件流写入指定的文件里
exportData.WriteTo(file);
file.Close();

}

数据导出至excle的更多相关文章

  1. 一个php将数据库的数据导出到excle表格中的小dome

    首先我们需要下载个PHPExcel,PHPExcel下载地址链接:https://pan.baidu.com/s/1nxpAc45 密码:qgct 下面来写个dome: <?php //把数据写 ...

  2. 数据库数据怎样导出成Excle表格或Word文档?

    数据导出:将数据库的数据导出成Excel工作表或Word文档 方法:将一个泛型集合导出出去 主要使用: SaveFileDialog StreamWriter 导出代码: private void b ...

  3. .Net之Nopi Excel数据导出和批量导入功能

    一.介绍NPOI和编写demo的原因 1.Npoi是什么: 它是一个专门用于读写Microsoft Office二进制和OOXML文件格式的.NET库,我们使用它能够轻松的实现对应数据的导入,导出功能 ...

  4. SSM上传EXCLE到数据库 和 从数据库导出为EXCLE

    SSM上传EXCLE到数据库 和 从数据库导出为EXCLE package com.ABC.controller; import java.io.BufferedInputStream; import ...

  5. [K/3Cloud]有关单据显示行数限制和数据导出的建议

    1.针对显示行数限制: 模仿现在很流行的"查看更多"的模式,动态加载数据. 我相信这一点建议别人也提过,还请总部对此开展头脑风暴,因为在实际使用中客户总是不理解为何要限制行数,解释 ...

  6. [django]数据导出excel升级强化版(很强大!)

    不多说了,原理采用xlwt导出excel文件,所谓的强化版指的是实现在网页上选择一定条件导出对应的数据 之前我的博文出过这类文章,但只是实现导出数据,这次左思右想,再加上网上的搜索,终于找出方法实现条 ...

  7. 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  8. mssqlserver数据导出到另外一个数据库

    mssqlserver数据导出到另外一个数据库 准备源数据库,找到想要导出的数据库,右键选择"任务"再选择"导出数据" 设置源数据库信息 3.设置目标数据库,导 ...

  9. 在SQL Server中将数据导出为XML和Json

        有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做 ...

随机推荐

  1. Launch configuration JUnitCore references non-existing project XXX.

  2. maven修改版本号

    1.修改版本 mvn versions:set -DnewVersion=xxx 2.回滚版本,提交后不能回滚 mvn versions:revert 3.提交版本变更 mvn versions:co ...

  3. shell 解析json

    未完待续 ### 解析api json文件为csv文件 cd /api ` do id=$(echo ${i}|sed 's/.html//') echo -n "${id}|" ...

  4. List of the best open source software applications

    List of the best open source software applications by Ryan • Oct 25th, 2008 • Category: Featured Art ...

  5. angular安装应用

    首先你要有node 和npm 全局安装angular    npm install -g @angular/cli 安装一个angular项目     ng new 项目名称 cd进入新建的项目 跑页 ...

  6. 2018-9-1-win10-uwp-轻量级-MVVM-框架入门-2.1.5.3199

    title author date CreateTime categories win10 uwp 轻量级 MVVM 框架入门 2.1.5.3199 lindexi 2018-09-01 16:24: ...

  7. Python:pip 和pip3的区别

    前言 装完python3后发现库里面既有pip也有pip3,不知道它们的区别,因此特意去了解了一下. 解释 先搜索了一下看到了如下的解释, 安装了python3之后,库里面既会有pip3也会有pip ...

  8. xshell评估期已过怎么办

    重新下载更新即可,不要看到英文一脸懵逼,直接在页面中有红色*号的地方输入个人信息,licensetype 必须选 Home and School use(家庭和个人使用),最主要的是输入邮箱(必须是个 ...

  9. thinkphp3.2.3中设置路由,优化url

    需求: 访问这个目录的时候,http://xx.com/p-412313要重定向到(暂且这么叫)http://xx.com/Home/Blog/index/id/412313 就是看着好看 我的应用目 ...

  10. 解决vscode电脑卡顿问题

    在安装了vscode之后,发现电脑很卡,cpu使用率高达100%. 解决方法1: 打开vscode之后,点击文件==>首选项==>设置搜索设置search.followSymlinks然后 ...