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

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

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>
    <a href="ExportToExcel.ashx">下载备份数据库文件到Excel格式</a>
    </div>
    </form>
</body>
</html>

https://download.csdn.net/download/dream_shine/4538575

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值