`

poi 新手教程

阅读更多
Jakarta_POI 使用Java读写Excel(97-2002)文件,可以满足大部分的需要。
因为刚好有一个项目使用到了这个工具,花了点时间顺便翻译了一下POI本身
带的一个Guide.有一些节减和修改,希望给使用这个项目的人一些入门帮助。
POI 下面有几个自项目:HSSF用来实现Excel 的读写.以下是HSSF的主页
http://jakarta.apache.org/poi/hssf/index.html

下面的介绍是基于以下地址的翻译:
http://jakarta.apache.org/poi/hssf/quick-guide.html

目前的版本为1.51应该是很长时间之内的一个稳定版,但HSSF提供的Sample不是基于
1.51所写,所以使用的时候需要适当的注意.
其实POI下面的几个子项目侧重不同读写 Word 的HDF正在开发当中.
XML下的FOP(http://xml.apache.org/fop/index.html)
可以输出pdf文件,也是比较好的一个工具

目录:
创建一个workbook
创建一个sheet
创建cells
创建日期cells
设定单元格格式

说明:
以下可能需要使用到如下的类
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;

创建workbook

HSSFWorkbook wb = new HSSFWorkbook();
//使用默认的构造方法创建workbook
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
//指定文件名
wb.write(fileOut);
//输出到文件
fileOut.close();

创建一个sheet

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
//workbook创建sheet
HSSFSheet sheet2 = wb.createSheet("second sheet");
//workbook创建另外的sheet
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();

创建cells
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
//注意以下的代码很多方法的参数是short 而不是int 所以需要做一次类型转换
HSSFRow row = sheet.createRow((short)0);
//sheet 创建一行
HSSFCell cell = row.createCell((short)0);
//行创建一个单元格
cell.setCellValue(1);
//设定单元格的值
//值的类型参数有多中double ,String ,boolean,
row.createCell((short)1).setCellValue(1.2);
row.createCell((short)2).setCellValue("This is a string");
row.createCell((short)3).setCellValue(true);

// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();

创建日期cells
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");

HSSFRow row = sheet.createRow((short)0);

HSSFCell cell = row.createCell((short)0);
//设定值为日期
cell.setCellValue(new Date());

HSSFCellStyle cellStyle = wb.createCellStyle();
//指定日期显示格式
cellStyle.setDataFormat(HSSFDataFormat.getFormat("m/d/yy h:mm"));
cell = row.createCell((short)1);
cell.setCellValue(new Date());
//设定单元格日期显示格式
cell.setCellStyle(cellStyle);

FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();

设定单元格格式
单元格格式的设定有很多形式包括单元格的对齐方式,内容的字体设置,
单元格的背景色等,因为形式比较多,只举一些例子.以下的例子在
POI1.5中可能会有所改变具体查看API.
..........
// Aqua background
HSSFCellStyle style = wb.createCellStyle();
//创建一个样式
style.setFillBackgroundColor(HSSFCellStyle.AQUA);
//设定此样式的的背景颜色填充
style.setFillPattern(HSSFCellStyle.BIG_SPOTS);

//样式的填充类型。
//有多种式样如:
//HSSFCellStyle.BIG_SPOTS
//HSSFCellStyle.FINE_DOTS
//HSSFCellStyle.SPARSE_DOTS等
style.setAlignment(HSSFCellStyle.ALIGN_CENTER );
//居中对齐
style.setFillBackgroundColor(HSSFColor.GREEN.index);
//设定单元个背景颜色
style.setFillForegroundColor(HSSFColor.RED.index);
//设置单元格显示颜色
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue("X");
cell.setCellStyle(style);


使用poi的hssf生成一个excel文件以后
有一个主类Workbook(相当于一个excel文件)的方法
Workbook.write(OutputStream)可以写到response.getOutputStream()里面
如果事先设置response的contentType为excel和下载的附件名称就可下载excel
    HSSFWorkbook book = _proxy.expertExcel(_formBean,_login);

    if(book!=null)
    {
        response.setContentType ( "application/ms-excel" ) ;
        response.setHeader ( "Content-Disposition" ,
                             "attachment;filename="+new String("导出Excel.xls".getBytes(),"iso-8859-1")) ;
        book.write(response.getOutputStream());
    }

其中expertExcel无非是从数据库或者其他地方获取数据创建excel即可.
分享到:
评论

相关推荐

    poi-3.8版本的所有资源

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Microsoft Excel(XLS、XLSX)、Word(DOC、DOCX)以及...无论你是新手还是经验丰富的开发者,都可以从这个压缩包中找到你需要的信息和工具。

    poi_xiaobai.rar

    在标题“poi_xiaobai.rar”中,我们可以推测这可能是一个关于Apache POI的入门或初级教程的压缩包,可能包含了相关的代码示例、教程文档或者教学视频。"poi-Jar包"的标签进一步确认了这个压缩包与Apache POI的Java库...

    POI 产考类文档【pdf、word】

    其次,我们有 `poi.doc` 和 `POIn.doc`,这些是 Word 文档,可能提供了 POI API 的更详尽的使用示例和教程。POI 提供了 HWPF 和 XWPF 类库来处理 Word 文档。HWPF 用于 `.doc` 文件,而 XWPF 适用于 `.docx` 文件。...

    Java-Excel报表开发POI(含详细的样式说明)

    这篇教程针对Java初学者,将详细介绍如何利用POI库进行Excel报表的开发,以及如何设置样式。 首先,你需要下载POI的最新版本。截至文章发布时,POI的最新稳定版本是3.0.1。虽然这个版本不完全支持Excel 2007的新...

    中兴U880中兴 凯德立GPS导航 新手教程 凯德立 不用root

    【中兴U880与凯德立GPS导航新手教程】 在移动设备上使用GPS导航已经成为现代生活的重要部分,尤其是对于驾驶者来说,它能够提供精确的路线指引和实时交通信息。本教程主要针对中兴U880智能手机用户,讲解如何利用...

    java项目史上最简单的数据excel导出教程(demo)-- 小白一看就会

    本教程将向你展示一个史上最简单的Java数据Excel导出方法,适合初学者和有经验的开发者。 首先,我们需要引入处理Excel的库。Apache POI是一个流行的Java API,用于读写Microsoft Office格式的文件,包括Excel。...

    maven+ssm完美整合

    SSM(Spring、SpringMVC、...通过这个压缩包中的教程,新手可以系统学习到SSM框架的整合和Apache POI的使用,为日后的Java Web开发打下坚实的基础。在实践中不断探索和熟悉这些技术,将有助于提升开发效率和代码质量。

    新手必看GPS分辨率、端口、速率、内存检测工具

    标题中的“新手必看GPS分辨率、端口、速率、内存检测工具”暗示了这是一个针对GPS设备或系统的初学者教程,重点在于理解与GPS设备性能相关的四个关键参数:分辨率、端口、速率和内存。这些参数对于正确配置和优化GPS...

    android开发资料大全

    android开发教程合集(推荐新手看下这一季教程) 新手入门 会员贡献电子图书整理(内含PDF下载) Android平板开发需要注意的几点 Android3D游戏开发付费视频教程共享(更新第四集) 史上最全示例Android教学视频,...

    java_操作xlsx.zip_TOD2_kindcbk_xlsx 导入 java

    本教程主要关注如何使用Java操作xlsx格式的Excel文件,这种格式是Microsoft Office Excel 2007及更高版本所使用的。我们将通过一个简单的示例来帮助新手快速理解这一过程。 首先,我们需要引入一个库来处理xlsx文件...

    EasyPoi教程

    ### EasyPoi教程知识点详解 #### 一、EasyPoi简介及主要特点 **1.1 前言** EasyPoi是一款旨在简化Java中Excel和Word操作的库。其核心理念是“易于使用”,即使是对Apache POI不熟悉的开发者也能轻松地实现数据的...

    屏幕笔e-Poiter

    屏幕笔e-Poiter是一款专为需要在屏幕上进行标注、绘图和指示的用户设计的软件工具,尤其适合教师在制作视频教程时使用。这款应用提供了丰富的功能,使得用户能够轻松地在计算机显示器上进行高亮、涂鸦、写字以及做...

    Renren-api-win8-sdk-1.0

    3. **使用SDK调用人人API接口**:具体操作时,可以以获取POI列表为例,通过调用相应的API接口,开发者可以轻松地获取所需的POI信息。 4. **使用SDK退出授权状态**:当不再需要访问特定的数据时,应该及时退出授权...

    Gmap.net中文,并集成了高德地图(MAPAbc)

    无论是对于初次接触地图API的新手,还是经验丰富的开发者,都能通过Gmap.net找到所需的资源和方法。它支持多种地图样式和定制选项,帮助开发者实现个性化地图展示。 **4. 如何开发其他地图引擎** Gmap.net不仅作为...

    java导出excel复合表头简单实例

    本资源提供的"java导出excel复合表头简单实例"是针对Java开发者的一个实用教程,特别是对于那些刚开始接触Java Excel导出功能的新手。这个实例将帮助你理解如何在Excel中创建并设置复杂的表头结构,使得数据的呈现...

    EXCEL-JDBC驱动

    - `start.html`可能是新手入门指南,指导如何开始使用驱动。 - `resultset.html`可能详细讲解了如何处理和操作`ResultSet`。 了解这些知识点后,开发者可以轻松地将Excel文件作为数据源,用于数据分析、报表生成或...

    Java Excel Api及详细教程

    通过学习这个详细的教程,新手可以逐步掌握使用Java Excel API进行Excel文件操作的技能,无论是简单的数据存储还是复杂的报告生成,都能游刃有余。在实际开发中,这个API是处理与Excel文件交互的重要工具。

    道道通学习---汽车导航

    通过阅读ddtsm.pdf这份文档,车友们将全面了解汽车导航系统,无论是新手还是经验丰富的老司机,都能从中受益,提升驾驶体验,实现真正意义上的“开车从此畅行无阻”。记得在实际驾驶中,安全第一,合理运用导航技术...

    android 电子书

    Android电子书阅读器是一款专为Android平台设计的应用程序,它允许用户阅读和...对于新手,可以从基础的Android开发教程开始,逐渐掌握核心概念;对于有经验的开发者,可以进一步探索性能优化和用户体验提升的方法。

    Jeecg-Boot+技术文档_2.0.pdf

    开发者可以通过官方文档、新手帮助、常见问题解答、视频教程以及GitHub上的问题提交获取支持。后端技术栈包括SpringBoot、Mybatis-plus、Shiro、Jwt以及Swagger-ui等,前端则采用了Ant Design of Vue和Vue.js。其他...

Global site tag (gtag.js) - Google Analytics