使用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 >

 

目录
相关文章
|
9天前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分到不同的工作表中。本文通过一个示例代码展示了如何生成一个包含总成绩表和三个班级表的Excel文件。代码首先创建了一个包含学生姓名、班级和各科成绩的数据框,然后按班级分组,将每个班级的数据分别写入不同的工作表。最后,生成的Excel文件将包含四个工作表,分别为总成绩表和三个班级的成绩表。
20 6
按条件将Excel文件拆分到不同的工作表
|
4天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
8天前
|
Python
批量将不同的工作簿合并到同一个Excel文件
本文介绍如何使用Python的`pandas`库批量合并不同工作簿至同一Excel文件。通过模拟生成三个班级的成绩数据,分别保存为Excel文件,再将这些文件合并成一个包含所有班级成绩的总成绩单。步骤包括安装必要库、生成数据、保存与合并工作簿。
19 6
|
8天前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分为多个工作表。本文通过一个具体示例,展示了如何根据学生班级将成绩数据拆分到不同的工作表中,并生成一个包含总成绩表和各班级成绩表的Excel文件。代码简洁明了,适合初学者学习和应用。
23 6
|
8天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
16天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
17天前
|
前端开发
实现Excel文件和其他文件导出为压缩包,并导入
实现Excel文件和其他文件导出为压缩包,并导入
23 1
|
19天前
|
数据格式 UED
记录一次NPOI库导出Excel遇到的小问题解决方案
【11月更文挑战第16天】本文记录了使用 NPOI 库导出 Excel 过程中遇到的三个主要问题及其解决方案:单元格数据格式错误、日期格式不正确以及合并单元格边框缺失。通过自定义单元格样式、设置数据格式和手动添加边框,有效解决了这些问题,提升了导出文件的质量和用户体验。
134 3
|
10天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
2月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
117 4

热门文章

最新文章