`

项目中导出Excel报表

    博客分类:
  • Java
阅读更多
2010年12月22日,冬至。 今天终于把南美话单分拣报表做完,主要实现将报表数据用EXCEL导出。于是自己写了一个小例子与大家分享。
    1、准备Apache提供的开源jar包poi-3.0.1-FINAL-20070705.jar,我将把它上载上来,供大家方便使用。 
  2、编写导出Excel类 
 package com.zte.excel;

import java.io.IOException;
import java.io.OutputStream;

import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class ExcelReport {
	public void export(HttpServletResponse response) throws IOException {
		response.setHeader("Content-disposition", "attachment;filename=test.xls");
		
		OutputStream out = response.getOutputStream();
	    HSSFWorkbook wb = new HSSFWorkbook();
	    
	    HSSFSheet sheet = wb.createSheet("sheet1");
	    
	    //模拟数据
	    String[] head = {"第一列","第二列","第三列","第四列"};
	    Object[][] body = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16},{"我","爱","你","!"}};
	    
	    //文件头
	    HSSFRow rowHead = sheet.createRow(0);
	    
	   
	    for(int i = 0; i< head.length; i++) {
	    	HSSFCell cell = rowHead.createCell((short)i);
	    	cell.setCellValue(new HSSFRichTextString(head[i]));
	    }
	    //文件体
	    for(int j = 0; j < body.length ; j ++) {
	    	for(int k = 0 ; k < body[j].length ; k++ ) {
	    		HSSFRow rowBody = sheet.createRow(j + 1);
	    		HSSFCell cell = rowBody.createCell((short)k);
		    	cell.setCellValue(new HSSFRichTextString(String.valueOf((body[j][k]))));
	    	}
	    }
	   
	    wb.write(out);
	    
	    
	}
} 


3、编写Servlet    

  
 package com.zte.excel;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class for Servlet: ExcelControl
 *
 */
 public class ExcelControl extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		 ExcelReport excelReport = new ExcelReport();
		 excelReport.export(response);
	}  	
	
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	    doGet(request, response);
	}   	  	    
}


4、编写index.htm页面
<html>
<head>
   <script type="text/javascript">
     function exportExcel(){
       window.location="ExcelControl"    
     }
      
   </script>
</head>
    <body>
      <center>
       <div style="border:1px red solid;width:250;height: 100;background-color:yellow;">
       <br>
       <h3>&lt;---Excel表导出测试---&gt;</h3>
       <input type="button" value="导出EXCEL" onclick="exportExcel()" />
    </div>
    </center>
    </body>
</html>

5、 启动Tomcat,并访问页面index.html页面
OK,成功
分享到:
评论

相关推荐

    easyPoi模板导出Excel报表(xls 和xlsx 都支持)

    《使用EasyPoi模板导出Excel报表:xls与xlsx格式全面解析》 在现代企业管理和数据分析中,Excel报表起着至关重要的作用。它不仅能够直观地展示数据,还能进行复杂的数据处理和分析。然而,手动创建和维护大量报表是...

    不打开EXCEL导出EXCEL报表

    不打开EXCEL导出EXCEL报表

    POI导出Excel报表

    用于导入导出Excel,方便好用 支持动态用流写至客户端

    Excel报表导出,复杂Excel模板导出(带单元格合并),jxls2

    在IT行业中,数据的展示和分析常常离不开Excel报表的运用,尤其在企业级应用中,高效、灵活的数据导出功能显得尤为重要。本项目专注于解决这一问题,通过使用`jxls2`库,能够实现复杂Excel模板的导出,包括单元格的...

    asp.net 导出Excel 报表基类

    asp.net 导出excel报表,只需传入向方法参数即可,配置自己可根据文档自行配置,方便好用。

    VC导出Excel报表

    本教程主要关注如何使用VC++(Visual C++)来导出数据到Excel报表中。在描述中提到,导出Word的原理与导出Excel相似,这通常意味着都是通过接口或者库来实现对这些应用的控制。 首先,我们需要了解的是Microsoft ...

    水晶报表导出excel表格

    水晶报表导出Excel表格 水晶报表是一种流行的报表生成工具,它可以将报表导出到多种格式,包括Excel表格。在本文中,我们将介绍如何使用水晶报表将报表导出到Excel表格。 首先,在Visual Studio中创建一个新的...

    POI报表导出excel

    在这个“POI报表导出excel”的案例中,我们将深入探讨如何使用POI 3.6版本来实现报表的导出,包括设置Excel样式、合并单元格以及处理多表头的合并。 首先,我们需要了解Apache POI的核心组件:HSSFWorkbook(用于...

    水晶报表如何完美导出一个Excel表格

    以下是一些关于如何使用水晶报表完美导出Excel表格的关键知识点: 1. **数据源连接**:首先,确保正确连接到数据源。水晶报表支持多种类型的数据源,如数据库、XML文件、Excel工作簿等。正确配置数据源是创建报表的...

    使用jasperreports制作报表(导出pdf excel html)

    4. **导出报表**:`JasperExportManager.exportReportToPdfFile()`, `JasperExportManager.exportReportToHtmlFile()` 和 `JasperExportManager.exportReportToXlsFile()` 分别用于导出报表为PDF、HTML和Excel格式。...

    通过报表导出EXCEL

    通过报表导出有格式的EXCEL文件!方便EXCEL格式调整!

    导出excel报表简单实例

    在导出Excel报表的场景中,我们创建一个XSLT样式表,其中定义了如何将XML数据映射到Excel工作表的结构。 接下来,我们需要一个XML数据源。这个XML文件应该包含要导出到Excel的数据,例如: ```xml &lt;Column1&gt;...

    java 导出exlce报表

    在你的例子中,"ExcleExport"可能是项目中导出Excel报表的相关代码文件或者一个示例。你可以通过查看这个文件来学习具体的实现细节。如果你遇到任何问题,如数据格式化、内存优化(大文件处理)或错误处理,Apache ...

    java操作Excel\Web应用导出Excel报表的简单实现 .htm

    java操作Excel\Web应用导出Excel报表的简单实现 .htm

    Java使用POI实现Excel报表的导入和导出

    ExportExcel类为导出Excel报表通用类。 1.将源代码导入eclipse中 2.部署项目,启动tomcat服务器 3.web页面具体路径:http://localhost:80/poi 4.点击Read excel 2003 or 2007,可以读取2003或2007版Excel 5.点击...

    组态王历史数据导出EXCEL表格的方法.docx

    组态王历史数据导出EXCEL表格的方法 组态王是一种工业自动化软件,具有强大的数据采集和处理能力。为了更好地对历史数据进行分析和处理,需要将其导出到EXCEL表格中。本文将介绍组态王历史数据导出EXCEL表格的方法...

    使用ITEXT导出PDF、WORD,APACHE POI导出EXCEL报表文件

    本文将深入探讨如何使用ITEXT库导出PDF和Word,以及利用Apache POI库导出Excel报表文件。 首先,让我们来了解ITEXT库。ITEXT是一个开源Java库,专门用于创建和修改PDF文档。使用ITEXT,你可以方便地生成包含文本、...

    birt 导出excel插件,支持导出带图片的报表

    birt 导出excel插件,支持导出带图片的报表

    多个润乾报表,导出到一个excel中的不同sheet页中

    标题 "多个润乾报表,导出到一个excel中的不同sheet页中" 描述了一个常见的数据处理需求,即如何将多个独立的报表数据整合到一个Excel文件的不同工作表(sheet页)中。在IT行业中,这样的操作通常涉及到数据导出、多...

    java绝对生成excel报表

    在Java编程环境中,生成Excel报表是一项常见的任务,尤其在数据处理和数据分析领域。"java绝对生成excel报表"这个标题暗示了我们可以通过Java实现对Excel文件的创建和操作,确保能够生成精确的表格形式的数据报告。...

Global site tag (gtag.js) - Google Analytics