打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用NPOI导出数据库到Excel文件 - ゞ追忆o0ゞ - 博客园

教程地址: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>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C#常见技能_Excel文件读写
JSP生成EXCEL文件
Java读取数据库写excel文档
通过POI读写Excel文件
POI操作EXCEL(一)
C#创建Excel(.xls和.xlsx)文件的三种方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服