开发者社区> 布雷泽> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用NPOI导出数据库到Excel文件

简介: 教程地址:http://www.cnblogs.com/atao/category/209358.html NPOI文件包:http://u.115.com/file/aqr5pjb7 程序源码:http://u.
+关注继续查看

教程地址:http://www.cnblogs.com/atao/category/209358.html

NPOI文件包:http://u.115.com/file/aqr5pjb7

程序源码:http://u.115.com/file/bhvr12dq

 

代码中数据库链接字符串自己修改,还有对应的字段名之类的信息;

新建一个Handler.ashx(一般处理程序) 代码如下:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using NPOI.HSSF.UserModel;


namespace ExportToExcelWeb
{
    
/// <summary>
    
/// ExportToExcel 的摘要说明
    
/// </summary>
    public class ExportToExcel : IHttpHandler
    {

        
public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType 
= "application/x-excel";
            
string fileName = HttpUtility.UrlEncode("数据库文备份.xls");
            context.Response.AddHeader(
"Content-Disposition""attachment; fileName=" + fileName);  //添加http协议报文;

            HSSFWorkbook workbook 
= new HSSFWorkbook(); //创建一个xls;
            HSSFSheet sheet = workbook.CreateSheet(); //创建一个Sheet页

            
string connectString = @"server=localhost\sql2008;database=MyBlog; uid=sa; pwd=sql2008";
            SqlConnection connection 
= new SqlConnection(connectString);
            connection.Open();

            
using (IDbCommand cmd = connection.CreateCommand()) //接口编徎;
            {
                cmd.CommandText 
= "select * from Users";
                
using (IDataReader reader = cmd.ExecuteReader())
                {
                    
int rowsNum = 0;  //行号
                    while (reader.Read())
                    {
                        
//根据字段名找出ID
                        string LoginId = reader.GetString(reader.GetOrdinal("LoginId"));
                        
string LoginPwd = reader.GetString(reader.GetOrdinal("LoginPwd"));
                        
string Name = reader.GetString(reader.GetOrdinal("Name"));
                        
string QQ = reader.GetString(reader.GetOrdinal("QQ"));
                        
string Mail = reader.GetString(reader.GetOrdinal("Mail"));

                        
/******************以上代码对应数据库表中的字段*********************/

                        HSSFRow row 
= sheet.CreateRow(rowsNum);
                        row.CreateCell(
0, HSSFCell.CELL_TYPE_STRING).SetCellValue(LoginId);
                        row.CreateCell(
1, HSSFCell.CELL_TYPE_STRING).SetCellValue(LoginPwd);
                        row.CreateCell(
2, HSSFCell.CELL_TYPE_STRING).SetCellValue(Name);
                        row.CreateCell(
3, HSSFCell.CELL_TYPE_STRING).SetCellValue(QQ);
                        row.CreateCell(
4, HSSFCell.CELL_TYPE_STRING).SetCellValue(Mail);

                        
/******************以上代码对应Excel文件的列************************/
                        rowsNum
++;
                    }
                }
            }

            workbook.Write(context.Response.OutputStream);  
//输出到流中

        }

        
public bool IsReusable
        {
            
get
            {
                
return false;
            }
        }
    }
}

 

Aspx页面代码:

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ExportToExcelWeb.Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title></title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
    
<href="ExportToExcel.ashx">下载备份数据库文件到Excel格式</a>
    
</div>
    
</form>
</body>
</html>

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#项目中操作Excel文件——使用NPOI库
C#项目中操作Excel文件——使用NPOI库
0 0
导出文件:使用Hutool导出数据为Excel文件
导出文件:使用Hutool导出数据为Excel文件
0 0
MemoryStream导出 Excel文件
今天遇到了 MemoryStream这个 流操作 百度了一下 简单区别了一下和FileStream的区别: 简单介绍一下MemoryStream MemoryStream是内存流,为系统内存提供读写操作,由于Memo...
1224 0
C# 使用 NPOI 库读写 Excel 文件
原文:C# 使用 NPOI 库读写 Excel 文件 NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件。在处理Excel文件上,NPOI 可以同时兼容 xls 和 xlsx。
965 0
C#创建Excel文件并将数据导出到Excel文件
工具原料: Windows 7,Visual Studio 2010, Microsoft Office 2007 创建解决方案 菜单》新建》项目》Windows窗体应用程序: 添加相关组件: 添加两个DataGridView,一个TextBox,两个按钮 ,如下图: 添加Excel资源: C#创建Excel文件,这里实际上是从资源中提取一个事先创建好的Excel文件,文件提取成功后,使用OleDb方法连接Excel,向Excel文件中写入数据。
544 0
excel文件内容导入数据库的问题及解决
今天需要导一些数据,从excel导入到数据库中。 没有装现成的plsqldev,只能用sql*loader来弄了。 首先我把excel文件的内容转换成csv文件,以逗号分隔,在另存外excel文件的时候有那个选项。
1045 0
GridView导出为Excel后,导出的.xls文件无法作为源文件导入的问题
今天有人问了一个导出到Excel的问题,经典的导出代码想来大家也都知道,就是循环读数据,写成一个HTML,然后存为一个.xls文件。 可以参考我之前的一篇文章:GridView导出到Excel和开源图表工具 这种文件是可以在Excel程序里正常打开的,但如果使用这种文件作为数据源文件再进行导入,但我们使用下面的经典Excel导入Sql的代码时,就会出错。
576 0
+关注
布雷泽
这个家伙很懒什么都没有留下。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载