`
haofenglemon
  • 浏览: 245714 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

POI 之一

阅读更多
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即可.
分享到:
评论

相关推荐

    POI3.7/POI3.8/POI3.9

    `去脚本之家看看.url`和`服务器软件.url`可能是推荐的相关学习资源或工具的链接,而`领取天猫淘宝内部优惠券.url`则看起来是一个非相关的推广链接。 在实际开发中,选择合适的POI版本取决于项目需求。如果需要处理...

    百度poi,高德poi数据数据免费下载

    1. **百度POI数据**:百度地图是中国领先的在线地图服务提供商之一,其POI数据包含了全国各地的商户、楼宇、社区、景点、学校、加油站、汽车维修与服务等地点的详细信息。这些数据通常包括位置坐标(经纬度)、名称...

    2024 POI爬取工具.zip

    POI数据是我们能够获取到的最有价值的城市数据之一,也是我们最常用的城市数据! POI(一般作为Point of Interest的缩写,也有Point of Information的说法),通常称作兴趣点,泛指互联网电子地图中的点位数据,比如...

    高德POI数据-POI分类编码

    在IT行业中,高德地图是领先的在线地图服务平台之一,提供了丰富的地理信息数据,包括地点(Point of Interest,简称POI)数据。POI数据是指地图上具有特定功能或信息的点,如餐馆、酒店、加油站等。这些数据对于...

    poi数据爬取工具

    百度地图是中国主流的在线地图服务之一,提供了丰富的POI信息。通过这个工具,用户可以方便地获取中国大陆的各种POI数据,包括但不限于商业设施、公共设施、交通设施等。 使用这样的工具,企业和研究人员可以进行...

    POI操纵EXCEL文档之导入文档(一)

    在"POI操纵EXCEL文档之导入文档(一)"这个主题中,我们将深入探讨如何使用POI库来读取和操作Excel文件。在这个过程中,我们假设你已经具备一定的Java编程基础,并且对Mysql数据库有所了解。 首先,让我们从安装和...

    poi 3.8 版本全量包

    Apache POI 是一个开源项目,...Apache POI的强大之处在于其灵活性和广泛的兼容性,使得在Java环境中处理Microsoft Office文件变得简单易行。网上有很多关于如何使用Apache POI的示例代码,可以帮助初学者快速上手。

    poi 3.8jar 包

    Apache POI 是Apache软件基金会的项目之一,主要为Java平台设计。它允许Java开发者在不依赖于Microsoft Office的情况下,对Office文档进行读写操作。通过提供HSSF(Horrible Spreadsheet Format)和XSSF(XML ...

    poi-ooxml-schemas-3.9.jar_jb51_POI_

    2. "去脚本之家看看.url":这可能是一个链接,指向脚本之家网站,该网站可能提供了关于Apache POI或"poi-ooxml-schemas-3.9.jar"的教程、示例代码或资源,帮助开发者更好地理解和使用这个库。 3. "服务器软件.url":...

    poi的jar包

    由于其强大的功能和良好的社区支持,它已成为Java世界中处理Office文件的标准工具之一。使用"poi的jar包",开发者可以轻松地将其集成到Java项目中,实现对Excel、Word和PowerPoint文件的高效操作。

    java操作poi jar下载

    Java操作Apache POI库是Java开发中用于读写Microsoft Office文档的一个强大工具,特别...这就是使用Apache POI的基本操作之一。在实际项目中,你可以根据需求进行更复杂的操作,如读取数据、格式化单元格、处理公式等。

    上海poi矢量shp数据

    矢量数据是GIS中的基本数据结构之一,由点、线、面等几何对象组成,能够精确表示地物的位置和形状。SHP文件是Esri公司开发的一种开放的地理空间数据格式,用于存储地理坐标以及与这些坐标相关的属性信息。 【标签】...

    poi 操作 excel 2007 demo 及poi类库

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在Java世界中,POI库是处理Excel文件的首选工具,尤其对于读写Excel 2007(.xlsx)这种基于OpenXML格式的文件...

    poi3.8 doc,excel转html

    在IT行业中,处理各种文件格式转换是常见的任务之一。标题提到的"poi3.8 doc,excel转html",指的是使用Apache POI库的3.8版本进行Microsoft Office文档(尤其是DOC和XLS)到HTML的转换。Apache POI是一个流行的Java...

    POI所有.rar

    这个压缩包“POI所有.rar”很可能包含了POI项目的各种资源、示例代码、文档和库文件,方便用户学习和开发与之相关的应用程序。 Apache POI 提供了Java API,使得开发者可以在不依赖微软Office的情况下读写这些文件...

    poi-3.8-20120326.jar

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Microsoft Excel(XLS、XLSX)、Word(DOC、DOCX)以及PowerPoint(PPT、...对于需要处理Office文档的Java应用,Apache POI是不可或缺的工具之一。

    apache poi 导出excel、word

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel和Word。它提供了Java API,使得开发者能够方便地在...因此,了解和熟练使用Apache POI是Java开发者在处理Office文档时必备的技能之一。

    POI读取Excel合并单元格并储存

    在IT行业中,处理数据是日常任务之一,而Excel作为广泛使用的电子表格软件,其数据处理需求尤为常见。本文将深入探讨如何使用Java的Apache POI库来读取Excel文件,并处理其中合并单元格的数据,同时将这些数据存储到...

    poi的所有jar包

    Apache POI 是一个开源项目,专门...总的来说,Apache POI是一个强大且灵活的库,对于Java开发者来说,它是处理Office文档的标准工具之一。通过理解和熟练使用这些jar包,可以极大地提升处理Office文档的效率和便利性。

Global site tag (gtag.js) - Google Analytics