一,如何把数据库的数据导入到Excel?
(1)可以使用多种方式,但是较好的一种是使用NPOI。
(2)NPOI的缺陷:只能在Office2003中使用,Office2007无法使用NPOI,同时对于WPS也不能使用。
(3)使用是要引入NPOI的dll外部文件,下面的代码使用了简单三层的思想。
二,把数据库中的数据导入到Excel的具体步骤:
protected void Button2_Click(object sender, EventArgs e)
{
try
{
//使用NPOI创建Excel
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.CreateSheet();
HSSFRow row;
//使用三层得到所有的数据,数据量小时,可以这么做,当数据量很大时,要使用DataReader
UserInfoBLL userBll = new UserInfoBLL();
IEnumerable<UserInfo> list = userBll.GetAll();
//写入Excel的第一行,标题
row = sheet.CreateRow(0);
row.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue("姓名");
row.CreateCell(1, HSSFCell.CELL_TYPE_STRING).SetCellValue("年龄");
row.CreateCell(2, HSSFCell.CELL_TYPE_STRING).SetCellValue("邮箱");
row.CreateCell(3, HSSFCell.CELL_TYPE_STRING).SetCellValue("手机");
row.CreateCell(4, HSSFCell.CELL_TYPE_STRING).SetCellValue("时间");
row.CreateCell(5, HSSFCell.CELL_TYPE_STRING).SetCellValue("地址");
row.CreateCell(6, HSSFCell.CELL_TYPE_STRING).SetCellValue("备注");
//依次遍历结果集,并赋值
int i=1;
foreach(var userinfo in list)
{
row = sheet.CreateRow(i);
row.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue(userinfo.UserName);
row.CreateCell(1, HSSFCell.CELL_TYPE_NUMERIC).SetCellValue(Convert.ToInt32(userinfo.Age));
row.CreateCell(2, HSSFCell.CELL_TYPE_STRING).SetCellValue(userinfo.Email);
row.CreateCell(3, HSSFCell.CELL_TYPE_STRING).SetCellValue(userinfo.Telephone);
row.CreateCell(4, HSSFCell.CELL_TYPE_NUMERIC).SetCellValue(Convert.ToDateTime( userinfo.AddDate));
row.CreateCell(5, HSSFCell.CELL_TYPE_STRING).SetCellValue(userinfo.Address);
row.CreateCell(6, HSSFCell.CELL_TYPE_STRING).SetCellValue(userinfo.Remarks);
i++;
}
//操作文件流,写入到Excel中
using (Stream stream = new FileStream(@"G:\userInfoOut.xls", FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
workbook.Write(stream);
}
Response.Write("导出成功");
}
catch (Exception ex)
{
Response.Write("错误:" + ex.Message);
}
}
三 ,参考
(1),此种做法只能针对数据量较小的数据,对于数据很多的导出,则不能使用这种方式。
(2),如何使用NPOI把Excel中的数据导入到数据库,请参考本博客相关文章。
分享到:
相关推荐
利用NPOI组件,将数据库中表,或查询结果导出Excel以及将Excel中数据导入到数据库中
ASP.NET使用NPOI导出数据库到Excel文件,简单方便, 无需Office COM组件且不依赖Office
用VS2012写的DataGridView数据通过NPOI导出到Excel,共同进步。
NPOI实现石油数据在excel与数据库之间导入导出,代码简单,有注释。
asp.net,c#实现NPOI对EXECL文件的导入、显示和导出,包含样式,简单修改即可导出数据库数据。
本程序使用SQLDMO.DLL和NPOI.DLL组件实现数据库表的导出,SQLDMO.DLL组件实现登陆数据库,查找数据库及下面的表.NPOI.DLL组件实现创建一个EXCEL文件,把选中的表导出到桌面上。
Npoi2.0版本,使用.net 4.0应用,其中包括创建简单的excel表格,导出指定的数据导出Excel表,并支持导入excel表格到数据库中,附带数据库,该demo为项目而做,请放心下载,附带注释。
1)Npoi操作Excel导入导出,可以按模板导出,设置好标题横排字段,竖排字段,按模板填写数据。 2)读取横排Excel数据,批量导入数据库
使用C#实现了将多个datatable中的内容导出到 一个excel文件的不同的sheet页,每个sheet页对应一个...代码中的datatable是程序中添加的内容,从数据库中导出数据到excel的话只需要将数据表内容写入datatable即可。
在我们的实践开发中我们经常会遇到很多关于报表问题的数据展示,当然了有报表肯定是少不了数据的导出和导入的一些功能的啦,我这个demo就是专门使用nopi第三方库对excel的数据批量导入和数据导出的相关功能实现。
源码包含npoi导出excel和excel显示在datagradview中并导入到数据库,给初学者学习使用
程序可以完成从 数据库 生成 Excel 或者从Excel导入数据库 还可以用这个来轻量级的操作数据库 程序是用C#写的,如果机器不能运行本程序 可以安装.net 平台库
上面的代码实现的主要操作是,使用npoi插件实现将数据库内查询的数据放入到excel中。
使用NPOI做的一个动态导出多个sheet的excel,同时将其转成二进制存入数据库,以链接的方式...就相当于将excel不导出到服务器上而是将excel以二进制的形式存进数据库中。在将二进制读出来,生成一个链接 供用户下载。
VS2012创建项目,这个是使用C#语言npoi2.1.3.0导入excel到数据库中,同时使用了xml对excel的每个单元格数据进行了非空验证。经测试,导入成功。数据库写入部分请自己完成。有问题请留言。已经在项目中运中复杂多表头...
本文介绍了ASP.NET基于NPOI控件将数据导出Excel表中数据以及导入Excel数据到数据库。优点:导出几万条数据几秒钟就可以完成。
使用NPOI导入导出Excel,内附已封装好的方法和DLL可以直接使用!
我这个实例,是将数据从Excel直接导入到SQL-Server数据库中。
基于NPOI的一种导出Excel工具, 二、功能 (1). 直接将DataTable或DataSet导出成excel (2). 使用模板将DataTable或DataSet导出成excel (3). 使用模板将泛型List导出成excel (4). 直接使用模板去数据库里面根据sql语句...
通用类数据导出excel方法,包含读取DataTable数据集进行导出到Excel文档中, * 获取DataTable数据集合插入Excel表格中的指定行和列,并进行单元格样式的控制以及大于指定的 * 【65535】行数则需要创建一个新的sheet...