`
buliedian
  • 浏览: 1238355 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用POI进行Excel文件下载的示例工程

 
阅读更多

说明:
1.下载http://www.apache.org/dyn/closer.cgi/poi/release/bin/poi-bin-3.7-20101029.zip后,将poi-3.7目录下的jar包放入lib目录, 再将此工程载入Eclipse/MyEclipse即可。
2.界面中文本框供输出数据量用,在我的T410上测试数据量在3.5W~3.6W之间,再多就报java.lang.OutOfMemoryError错误。
3.主要代码如下:

Sevlet代码:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->package com.heyang.action;


import java.io.BufferedOutputStream;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.heyang.service.DownloadService;

/**
 * POI下载的Servlet
 * 
@author heyang
 *
 
*/
public class DownloadServlet extends HttpServlet {
    
private static final long serialVersionUID = 56890894234786L;
    
    
public void doPost(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, java.io.IOException {
        String fileName
="download.xls";
        response.setHeader(
"Content-disposition""attachment; filename="+fileName);// 设定输出文件头   
        response.setContentType("application/msexcel");// 定义输出类型 
        
        
try{
            
int rowCount=Integer.parseInt(request.getParameter("rowCount"));
            
            
// 表头行
            String[] headers=new String[]{"更新ID","账期","基站编号","基站名称","站点状态","部门名称","站点类型","占用类型","预提(元)","未核销金额","上期未核销","开始月份","结束月份","上期抄表数","本期抄表数","电价","电量","本期报账(元)","补提(元)","预提汇总(元)","成本中心","专业","本期报账单号","基站类别","线损"};
            DownloadService service
=new DownloadService();

            HSSFWorkbook workbook
=service.generateWorkbook(rowCount, headers.length);

            ServletOutputStream out 
= response.getOutputStream();
            BufferedOutputStream bos 
= new BufferedOutputStream(out);        
            workbook.write(bos);
            bos.flush();
            bos.close();
            
        }
catch(Exception ex){
            ex.printStackTrace();
        }
        
        
return ;
    }
        
    
public void doGet(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, java.io.IOException {
        doPost(request, response);
    }
}


Service代码:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->package com.heyang.service;

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


/**
 * 下载服务类
 * 
 * 
@author heyang
 *
 
*/
public class DownloadService{
    
/**
     * 生成工作簿对象
     * 
@param rowCount
     * 
@param columnCount
     * 
@return
     
*/
    
public HSSFWorkbook generateWorkbook(int rowCount,int columnCount) throws Exception{
        HSSFWorkbook workbook 
= new HSSFWorkbook(); //产生工作簿对象
        HSSFSheet sheet = workbook.createSheet(); //产生工作表对象
        String value=null;
        
        HSSFRow row 
= null;
        HSSFCell cell 
= null;
        
        
for(int i=0;i<rowCount;i++){
            row 
= sheet.createRow(i);//创建一行
            
            
for(int j=0;j<columnCount;j++){
                value
=""+i+","+j;
                
                cell 
= row.createCell(j);
                cell.setCellValue(value);
                
                cell 
= null;
            }
            
            row 
= null;
        }
        
        row 
= null;
        cell 
= null;
        
        
return workbook;
    }
}
0
0
分享到:
评论

相关推荐

    java使用poi进行excle读取和输出,myeclipse源码

    总结来说,这个项目提供了一个Java使用Apache POI库进行Excel读取和输出的示例,通过MyEclipse源码,你可以学习如何在实际项目中有效地操作Excel文件,这对于数据分析、报告生成等场景非常有用。通过深入研究这些源...

    JAVA POI 4.0 对Excel读写整理LIB以及样例工程

    3. **读取Excel文件**: 使用POI,你可以通过WorkbookFactory.create()方法打开Excel文件。然后,你可以遍历工作簿中的每个工作表,进一步遍历每个工作表中的行和单元格,获取或处理数据。 4. **写入Excel文件**: ...

    poi读写excel

    本示例工程是基于POI实现Excel的读写功能,适用于MyEclipse 6.0这样的集成开发环境。 首先,我们要理解Excel文件的基本结构。Excel文件(.xls或.xlsx)本质上是存储在二进制格式中的数据,由多个工作表(Worksheet...

    poi合并多个word文档并设置页码

    Apache POI是一个流行的Java库,专门用于处理Microsoft Office格式的文件,如Word、Excel和PowerPoint。在"poi合并多个word文档并设置页码"这个主题中,我们将深入探讨如何利用POI API来实现这两个功能。 首先,让...

    POI解析Execl

    在本项目"POI解析Execl"中,我们将探讨如何利用Apache POI进行Excel文件的处理,特别是在批量添加数据的场景下。 首先,我们需要在项目中引入Apache POI的依赖。如果你的项目是Maven工程,可以在pom.xml文件中添加...

    poi操作ppt生成图表完整工程.zip

    在本“poi操作ppt生成图表完整工程”中,我们将会深入探讨如何使用Apache POI库来创建和编辑PowerPoint文档中的图表。 首先,我们需要了解Apache POI提供的API。`XSLFSlideShow`是用于创建和修改PowerPoint幻灯片的...

    POI使用模板导出.zip

    在描述中提到,这个压缩包包含了一个完整的工程,可以立即导入和运行,这意味着它提供了一个实际的示例,用于演示如何使用POI来处理复杂的Excel工作簿操作。这可能包括创建、修改、合并单元格以及设置样式等。 ...

    java操作Excel poi

    本篇文章将详细介绍如何使用POI进行Excel文件的操作,特别是如何导入和导出数据到Excel文件。 #### 二、环境搭建 在开始使用POI之前,需要确保项目环境中已正确配置以下内容: 1. **SSH框架**:如果项目基于SSH...

    Java简单的导出Excel工程

    总的来说,这个“Java简单的导出Excel工程”是一个基础的示例,展示了如何使用Apache POI库在Java中生成Excel文件,对于学习和理解Java与Excel的集成非常有帮助。实际开发中,可以根据需求进行扩展,如增加数据过滤...

    java 利用POI读取Word文件中的内容

    在Java编程语言中,Apache POI是一个非常流行的库,它允许开发者处理Microsoft Office格式的文件,包括Word(.doc和.docx)文档。本篇将详细介绍如何利用Apache POI库来读取Word文件中的内容。 首先,理解Apache ...

    ApachePOI入门级读写操作

    对于初学者,可以参考`poi_demo`中的示例代码,它通常会包含一个简单的读取和写入Excel文件的程序,展示如何使用HSSF和XSSF进行操作。通过分析和运行这个示例,你可以快速掌握Apache POI的基本用法。 总结来说,...

    java导出excel复杂表头

    使用Apache POI,我们可以创建一个新的Workbook对象,它是Excel文件的基本容器。然后,我们创建一个Sheet对象,代表Excel中的一个工作表。 2. **构建复杂表头** 复杂表头可能包括多行或多列合并,甚至嵌套的表头...

    POI3.5_HSSF_和XSSF_Excel操作快速入门手册.pdf

    因此,如果需要使用 POI 3.5,建议直接从 Apache 官网下载并将其作为参考库加入到工程中。 #### 三、基本操作:创建与写入工作簿 ##### 创建新工作簿 在 POI 中,创建新的 Excel 工作簿非常简单。无论是 .xls ...

    java 读取 word poi用到的jar包文件

    Apache POI是一个强大的开源项目,它允许Java开发者读取、写入和修改Microsoft Office格式的文件,包括Word(.doc和.docx)、Excel(.xls和.xlsx)以及PowerPoint(.ppt和.pptx)。 Apache POI的名称来源于“Poor ...

    java读excel文件

    现在,我们来看看`ReadExcel.java`这个源文件,它应该包含了读取Excel文件的示例代码。以下是一个基本的使用jxl库读取Excel文件的步骤: 1. **导入必要的库**: ```java import jxl.*; import jxl.read.biff....

    java操作Excel表(源代码工程+博客地址)

    Java操作Excel是IT领域中常见的任务,特别是在数据处理和自动化测试中。...通过深入理解和实践这些代码,你将能够熟练地使用Java和Apache POI来处理Excel文件,这对于数据分析、报表生成和自动化测试等场景非常有帮助。

    springboot-poi-word-master_word_DEMO_POI_

    这个"springboot-poi-word-master_word_DEMO_POI_"项目显然是一个使用Spring Boot集成Apache POI来导出Word文档的示例。 1. **Spring Boot**: - Spring Boot的核心特性包括自动配置、起步依赖、内嵌Web服务器(如...

    java技术结合poi jar包将wrod转为html 完整工程实战

    在这个“java技术结合poi jar包将word转为html 完整工程实战”项目中,我们将深入探讨如何使用Java和Apache POI将Word文档转换为HTML格式,同时支持doc、docx以及Excel文件。 首先,Apache POI是Java社区开发的一个...

    直接读取Excel文件数据

    除了使用COM接口,还有其他方法可以读取Excel文件,例如开源库`libxl`、`Apache POI`(适用于Java)、`pandas`(Python库)等。这些库提供了更简洁的API,但可能需要额外安装和配置。 在提供的压缩包文件`...

Global site tag (gtag.js) - Google Analytics