`

导出EXCEL 方法

阅读更多
/**
* 导出EXCEL
* 班级,组织,部门,异常数据导出
* @param savepath
* @param request
* @param response
* @param type
* @throws IOException
* @throws WriteException
*/
@RequestMapping("/tpinfoToDocument.do")
public void viewExcel(HttpServletRequest request, HttpServletResponse response) throws IOException, WriteException{

String savepath=request.getParameter("savepath");
Long type=super.toLong(request, "type");

Long sid=super.getSid(request);
if (sid==null){
this.outtime(request);
    }
String pHeader = null;
if (type==1){
pHeader=cfg.getConfig("porgHead");
}else if (type==2) {
pHeader=cfg.getConfig("pdeptHead");
}else if (type==3) {
pHeader=cfg.getConfig("tpinoInitHead");
}else if (type==4) {
pHeader=cfg.getConfig("tpinoBasicHead");
}
//savepath=""   存在服务器上文件的路径
String filename=savepath+"/Books.xls";
File f=new  File(filename);
//如是果文件存在 就删除
if (f.exists()) f.delete();
List list=null;
list=tpinfoService.tpinfoFindById(sid);
if (vExcel.bulidExcel(pHeader, list, f,type)){
OutputStream out = response.getOutputStream();
    response.setContentType("aplication/vnd.ms-excel");
    response.addHeader("Content-Disposition","inline; filename=Books.xls");  //有中文必须转码

    DataInputStream   dis=new   DataInputStream(new   FileInputStream(f));
    byte[]   buf=new   byte[1024];  
    int   left=(int)f.length();  
    int   read=0;  
    while(left>0){
    read=dis.read(buf);  
        left-=read;  
        out.write(buf,0,read);  
    }  
    dis.close();  
    out.close();  
    out.close();    
    //下载成功后,删除服务上的这个文件
    if (f.exists()) f.delete();
   return;    
}
}



/**
     *   导入EXCEL
     * @param header  表头
     * @param list   被导出的列表
     * @param f       文件
     * @param type    类型 1 2 3 4
     * @return
     * @throws IOException
     * @throws WriteException
     */
public boolean bulidExcel(String header,List list,File f,Long type) throws IOException, WriteException{

//File tempFile=new File("d:/temp/output.xls");
WritableWorkbook workbook = Workbook.createWorkbook(f);  
WritableSheet sheet = workbook.createSheet("Books", 0);   
 
//一些临时变量,用于写到excel中  
 
int i;
int counter=0;
String[] title=header.split(",");
        for (i=0;i<title.length;i++){ 
//表头
if(title[i]==null){
          sheet.addCell(new Label(i, 0, "未知"));
          } else{
          sheet.addCell(new Label(i, 0, title[i]));
          }
         }
        TPorg t=null;
        TPinfo tpinfo=null;
        for (i=0;i<list.size();i++){
        counter++;
        if (type==1){
        t=new TPorg();
            t=(TPorg) list.get(i);
        sheet.addCell(new Label(0, counter, t.getCardnum().toString() ));
            sheet.addCell(new Label(1, counter, t.getRealname().toString()));
            sheet.addCell(new Label(2, counter, t.getOrgname().toString()));
            sheet.addCell(new Label(3, counter, t.getDeptname().toString()));
            //sheet.addCell(new Label(4, counter, t.getFlag().toString()));
        }else if(type==2){
        t=new TPorg();
            t=(TPorg) list.get(i);
        sheet.addCell(new Label(0, counter, t.getCardnum().toString() ));
            sheet.addCell(new Label(1, counter, t.getRealname().toString()));
            sheet.addCell(new Label(2, counter, t.getDeptname().toString()));
            //sheet.addCell(new Label(3, counter, t.getFlag().toString()));
        }else if (type==3){
        tpinfo=new TPinfo();
        tpinfo=(TPinfo) list.get(i);
        sheet.addCell(new Label(0, counter, tpinfo.getStudentnum().toString() ));
            sheet.addCell(new Label(1, counter, tpinfo.getRealname().toString()));
            //sheet.addCell(new Label(2, counter, tpinfo.getIdnum() .toString()));
            //sheet.addCell(new Label(3, counter, tpinfo.getFlag().toString()));
        }else if (type==4){
        tpinfo=new TPinfo();
        tpinfo=(TPinfo) list.get(i);
        sheet.addCell(new Label(0, counter, tpinfo.getStudentnum().toString() ));
            sheet.addCell(new Label(1, counter, tpinfo.getRealname().toString()));
            sheet.addCell(new Label(2, counter, tpinfo.getIdnum() .toString()));
            //sheet.addCell(new Label(3, counter, tpinfo.getFlag().toString()));
        }
        }
workbook.write();  
workbook.close();  
return true;
}
  • jxl.jar (708.2 KB)
  • 下载次数: 2
分享到:
评论

相关推荐

    导出Excel方法大全

    【导出Excel方法大全】 在ASP.NET开发中,导出数据到Excel是常见的需求,尤其在处理大量数据展示和分析时。本篇文章将详细介绍两种在ASP.NET中导出Excel的方法,主要关注如何从GridView控件导出数据。 1. 存储在...

    Dev WinForm通用控件导出Excel方法(支持多个控件分工作薄导出)最新版

    解决GridControl自带方法不能导出图片,多表头无法导出等问题,解决PivotGridControl导出时候自动分组的问题,真正做到所见所得的导出excel方法,并且支持多个控件一同导出同一个excel,而且支持不同控件显示在不同...

    jquery 导出excel方法

    下面将详细介绍jQuery导出Excel的方法,以及相关知识点。 1. **jQuery插件:TableExport** 文件`tableExport.jquery.plugin-a891806`可能是一个名为TableExport的jQuery插件,它允许开发者将HTML表格数据导出为...

    asp.net 数据库导出excel 方法

    asp.net 数据库导出excel 方法 在本篇文章中,我们将讨论使用 ASP.NET 将数据库数据导出到 Excel 文件的方法。该方法使用 DataRow 对象将数据写入到 HTTP 输出流中,并将其作为 Excel 文件下载。 首先,我们需要...

    datagridview最简单的导出EXCEL方法

    ### datagridview最简单的导出EXCEL方法 在日常开发工作中,经常需要处理将DataGridView中的数据导出到Excel的功能。这段代码提供了一种简洁的方法来实现这一需求。 #### 方法介绍 该方法名为`print`,它接收一个...

    导入导出Excel方法,很详细

    总结来说,导入导出Excel是数据处理的重要环节,涉及到对Excel文件的操作,包括读取、写入和格式设置。选择合适的库,创建有效的模板,以及使用预先封装好的工具类,都能帮助我们高效地完成这项任务。在实际项目中,...

    操作Excel工具类,导出Excel方法,读取Excel中的数据

    操作Excel工具类,导出Excel方法,读取Excel中的数据,导入导出采用excel2003 版本

    公共POI导出Excel方法详解

    公共POI导出Excel方法详解 本文主要介绍了公共POI导出Excel方法的实现步骤和技术要点,对大家的学习或者工作具有一定的参考学习价值。 知识点1:POI库的概述 POI(Poor Obfuscation Implementation)是一个开源的...

    delphi DBGridEh多标头快速导出excel方法

    优化了zxf668之前对DBGridEh多标头导出excel方法,对大数据的导出,优化了导出方法。

    Dev WinForm通用控件导出Excel方法(支持多个控件分工作薄导出)

    解决GridControl自带方法不能导出图片,多表头无法导出等问题,解决PivotGridControl导出时候自动分组的问题,真正做到所见所得的导出excel方法,并且支持多个控件一同导出同一个excel,而且支持不同控件显示在不同...

    GridControl通用导出Excel

    #### 二、导出Excel方法详解 ##### 1. 方法签名 ```csharp public void ExportToExcel(params IPrintable[] panels) ``` **参数说明**: - `params IPrintable[] panels`:接受一个可变数量的`IPrintable`类型的...

    lotus Domino BS开发 lotusscript导出excel方法一

    lotus Domino BS开发 lotusscript导出excel方法一

    最实用的asp导出word、导出excel方法

    二、ASP导出Excel 1. **Excel Automation**:与Word类似,创建Excel对象,添加工作表,写入数据,然后保存为Excel文件。例如: ```vbscript Set objExcel = CreateObject("Excel.Application") objExcel.Visible...

    asp.net打印 导出excel方法

    本文将探讨两种主要的打印方法和导出Excel的几种策略,分析它们的优缺点。 首先,我们来看数据打印的方法: 1. **客户端脚本方式**: 这种方法主要依赖JavaScript来分析和提取页面内容,生成打印目标文档。优点...

    C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法

    在导出Excel文件时,经常会遇到“文件格式与扩展名指定格式不一致”的问题,这是因为大多数人在导出Excel文件时,都是默认保存Excel的格式,忽略了SaveAs方法里的参数。实际上,SaveAs方法的第二个参数FileFormat...

    DevExpress 控件导出Excel通用方法(GridControl打印多表头和图片等,并支持多个控件同时打印)

    解决GridControl自带方法不能导出图片,多表头无法导出等问题,解决PivotGridControl导出时候自动分组的问题,真正做到所见所得的导出excel方法,并且支持多个控件一同导出同一个excel

    数据库数据批量导出Excel方法[共三种方法]

    以下将详细讲解三种批量导出数据库数据至Excel的方法。 ### 方法一:使用SQL查询工具 1. **导出功能集成**:许多数据库管理工具如MySQL Workbench、Navicat、SQL Server Management Studio等,内置了数据导出功能...

    NPOI HTML导出EXCEL方法

    另外还有在MVC中把HTML TABLE导出EXCEL的方法,要以很省力啦。 代码如下: using NPOI; //…… public FileResult GetFile&#40;string html&#41; { html = Server.UrlDecode(html); ExportFile result = new ...

    js导出Excel三种方法

    js导出Excel三种方法 //整个表格拷贝到EXCEL中 //读取表格中每个单元到EXCEL中

    ASPxGridView的四种导出EXCEL方法

    本文将详细介绍ASPxGridView的四种导出Excel的方法。 1. 使用ASPxGridViewExporter组件 第一种方法是通过使用DevExpress专门设计的ASPxGridViewExporter组件。这个组件可以轻松地添加到页面上,与ASPxGridView配合...

Global site tag (gtag.js) - Google Analytics