导出excel的四种方法

 
据我现在所知excel有四种方法:
1.自己写的excel接口,客户端不需要装excel,见灵感之源的blog:
http://www.cnblogs.com/unruledboy/archive/2004/07/07/22093.aspx

2.把web上的DataGrid直接导入到excel
public   void  ExportToExcel(System.Web.UI.Control ctl) 
        

            
bool CurrCtlVisible=ctl.Visible;
            ctl.Visible
=true;        Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");  
            Response.ContentEncoding 
= System.Text.Encoding.GetEncoding("GB2312");
            Response.ContentType 
= "application/ms-excel"
            ctl.Page.EnableViewState 
= false
            System.IO.StringWriter tw 
= new System.IO.StringWriter(); 
            System.Web.UI.HtmlTextWriter hw 
= new HtmlTextWriter(tw); 
            ctl.RenderControl(hw); 
            Response.Write(tw.ToString()); 
            Response.End(); 
            
            ctl.Page.EnableViewState 
= true
            ctl.Visible
=CurrCtlVisible;
        }

3.在引用里调用Microsoft.Office.Interop.Excel.dll,原理是把数据存到DataTable、DataView或DataGrid中,然后再把数据一格一格的赋到excel的cell里去。
见如下代码:

public   class  ExportToExcel
    
{

        
私有成员

        
公共属性       

        
构造函数

        
公共方法

        
    }

4.另外,这就是另外一种方法了,建一个SqlServer的数据源,利用Excel的外部数据源让Excel自己从数据库取数据:

public   void  ExportToExcel( string  pstrSql)
        
{
            Excel.Application pApplication;
            Excel._Workbook xBk;
            Excel._Worksheet xSt;
            Excel._QueryTable xQt;
            
string ExcelConn = "ODBC;DRIVER=SQL Server;SERVER=localhost;UID=sa;PWD=;APP=Microsoft(R) Windows (R) 2000 Operating System;WSID=me;DATABASE=pubs";
            pApplication 
= new Excel.ApplicationClass();
            xBk 
= pApplication.Workbooks.Add(true);
            xSt 
= (Excel._Worksheet)xBk.ActiveSheet;
            pApplication.Cells[
2,2= this.title;

            xSt.get_Range(pApplication.Cells[
2,2],pApplication.Cells[2,2]).Font.Bold = true;
            xSt.get_Range(pApplication.Cells[
2,2],pApplication.Cells[2,2]).Font.Name = "黑体";
            xSt.get_Range(pApplication.Cells[
2,2],pApplication.Cells[2,2]).Font.Size = 22;
            xQt 
= xSt.QueryTables.Add(ExcelConn,xSt.get_Range(pApplication.Cells[4,2],pApplication.Cells[4,2]),pstrSql);
            xQt.Name 
= "导出EXCEL";
            xQt.FieldNames 
= true;
            xQt.RowNumbers 
= false;
            xQt.FillAdjacentFormulas 
= false;
            xQt.PreserveFormatting 
= false;
            xQt.BackgroundQuery 
= true;
            xQt.RefreshStyle 
= Excel.XlCellInsertionMode.xlInsertDeleteCells;
            xQt.AdjustColumnWidth 
= true;
            xQt.RefreshPeriod 
= 0;
            xQt.PreserveColumnInfo 
= true;
            xQt.Refresh(xQt.BackgroundQuery);
            pApplication.Visible 
= true;
        }

这里的pstrSql指的是sql语句。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java作为一种高级编程语言,具有强大的数据操作能力。在实际的开发过程中,我们经常需要将数据导出Excel表格中,以方便用户进行查看和操作。下面介绍Java导出Excel的三种方法方法一:POI框架 POI是Java中操作Excel的重要框架,它能够快速的读写Excel文档,各种类型的Excel文档都可以存取,使Excel文档操作更加简单方便。 使用POI框架,我们需要进行以下步骤: 1. 使用POI API创建工作簿、工作表等Excel对象。 2. 向工作表中创建行、单元格对象,设置数据。 3. 将数据写入Excel文件,保存Excel文件。 方法二:EasyExcel EasyExcel是一款简洁、易用、高效的Java操作Excel工具,它能够快速的读写Excel文档,支持大量数据写入,速度很快。 使用EasyExcel,我们需要进行以下步骤: 1. 使用EasyExcel API创建工作簿、工作表等Excel对象。 2. 向工作表中创建行、单元格对象,设置数据。 3. 将数据写入Excel文件,保存Excel文件。 方法三:Apache POI+Freemarker Apache POI+Freemarker是一种结合使用的方法,可以更加灵活、简便地操作Excel。 使用Apache POI+Freemarker,我们需要进行以下步骤: 1. 使用POI API创建工作簿、工作表等Excel对象。 2. 使用Freemarker模板引擎,将数据与Excel模板进行合并。 3. 将合并后的Excel文件写入磁盘,保存Excel文件。 以上就是Java导出Excel的三种方法,开发者们可以根据实际需求进行选择使用。需要注意的是,尽管以上三种方法的耗时都较少,容易操作,但还是存在相应的缺点和问题,需要我们在使用时认真考虑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值