`
cherryQQ
  • 浏览: 1137229 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

poi

阅读更多
POI组成
 官方网站: http://jakarta.apache.org/poi/,这个是POI的官方网站,用户可以先从这里下载。最新的版本3.0.2,下载解压后里面有三个jar包(poi-3.0.2-FINAL-20080204.jar/ poi-contrib-3.0.2-FINAL-20080204.jar/ poi-scratchpad-3.0.2-FINAL-20080204.jar),而在这里包中主要含:
org.apache.poi.hssf.eventmodel 处理在读取和写入Excel文档中生成的各种动作.
org.apache.poi.hssf.eventusermodel 提供读取Excel文档的各个类.
org.apache.poi.hssf.record.formula 包含公式处理类, 这些类使用在Excel文档中.
org.apache.poi.hssf.usermodel 包含生成Excel文档的各个类.
org.apache.poi.hssf.util 提供处理Excel文档各个属性的工具类.
开发步骤
1:先下载POI包;
2:解压后将里面的3个jar文件拷贝至WEB-INF\lib中。
3:刷新工程后,即可以使用jar包中的内容了。

 读取POI文档
一:以文件名创建一个InputStream
二:以上面的InputStream实例创建一个HSSFWorkbook.
三:HSSFWorkbook的getSheetAt(index)可获取相应的工作页
四:工作页调用方法获取行
五:行再获取相应的格,调用单元格的方法,然后取出对应数据。

 创建Excel文件
一:以new HSSFWorkbook()构造一个新的Excel文档
二:以HSSFWorkbook的createSheet("工作本名"),创建一个新的工作页。
三:新的工作页以createRow(RowIndex)依次创建行
四:HSSFRow以createCell(CellIndex)依次创建单元格
五:设置相应单元格的格式,值。
具体示例
示例一:读取Excel文件中的所有数据,包括对个工作表(薄)。
public static void ReadExcel2(String file) {
int total = 0;
try {
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(file));
int sn = wb.getNumberOfSheets();
for(int i=0;i<sn;i++){
HSSFSheet sheet = wb.getSheetAt(i);
for(int j=0;j<sheet.getLastRowNum();j++){
HSSFRow row = sheet.getRow(j);
for(int k=0;k<row.getLastCellNum();k++){
HSSFCell cell = row.getCell((short)k);
if(cell.getCellType()==HSSFCell.CELL_TYPE_STRING){
System.out.println(cell.getStringCellValue());
}
else{
System.out.println(cell.getBooleanCellValue());
}
total++;
}
}
}
System.out.println(total);

} catch (Exception e) {
System.out.println(e.getStackTrace());
}
}

示例一:创建一个Excel,并把相应的数据添入到指定的单元格。
public static boolean createExcel(String file){
boolean flag = false;
try{
// wb,对应一个内存中的excel文档
HSSFWorkbook wb = new HSSFWorkbook();
// sheet创建一个工作页
for(int h =0;h<3;h++){
HSSFSheet sheet = wb.createSheet("jzh"+h);

//设置列的宽度
sheet.setDefaultColumnWidth((short)20);
//String[] s = new String[]{"姓名","年龄","地址","城市","公司","工作","职位","收入"};
String[] s = {"姓名","年龄","地址","城市","公司","工作","职位","收入"};
cellStyle = getAnyCellStyle(wb,getHdrFont(wb,12),HSSFCellStyle.ALIGN_CENTER, HSSFCellStyle.VERTICAL_CENTER, (short)-1, true);
for(int x=0;x<s.length;x++){
HSSFRow row = sheet.createRow(0);

//设置行的高度
row.setHeight((short)500);
HSSFCell cell = row.createCell((short)x);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(s[x]);
cell.setCellStyle(cellStyle);
}


for (short i = 1; i < 100; i++)
{
// HSSFRow,对应一行
HSSFRow row = sheet.createRow(i);

//设置行的高度
row.setHeight((short)500);

for (short j = 0; j < 8; j++)
{
// HSSFCell对应一格
HSSFCell cell = row.createCell(j);
cell.setEncoding(HSSFCell.ENCODING_COMPRESSED_UNICODE);
//cell.setCellValue("Java,我的信仰" + String.valueOf(i));
cell.setCellValue(true);
}
}
OutputStream out = new FileOutputStream(file);
wb.write(out);
out.close();

flag = true;
}
}
catch(Exception ex){
flag = false;
}
return flag;
}
知识点汇总
 设置单元格格式
1. 创建字体,设置其为红色、粗体:
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
2、创建格式
HSSFCellStyle cellStyle= workbook.createCellStyle();
cellStyle.setFont(font);
3、应用格式
HSSFCell cell = row.createCell((short) 0);
cell.setCellStyle(cellStyle);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("标题"); 

 获得这个工作表数据行数
System.out.println(sheet.getLastRowNum());
 获得列数
System.out.println(row.getLastCellNum());

 设置第三列的宽度为5
sheet.setColumnWidth((short)3,(short)5);

 设置字体格式
HSSFCellStyle titlestyle = workbook.createCellStyle();
HSSFFont titlefont = workbook.createFont();
titlefont.setFontHeightInPoints((short)18);
titlefont.setFontName("黑体");
titlefont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
titlestyle.setFont(titlefont);

titlestyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
titlestyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

HSSFCell titlecell = titlerow.createCell((short)((fileds.length) / 3));
titlecell.setCellStyle(titlestyle);
titlecell.setEncoding(HSSFCell.ENCODING_UTF_16);
titlecell.setCellValue(titles);

 合并单元格
主要是从(1,3)到(5,6)的合并点
sheet.addMergedRegion(new Region((short)1,(short)3,(short)5,(short)6));

分享到:
评论

相关推荐

    POI导出 POI导出 POI导出

    POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...

    poi全家桶ooxml-schemas/poi/poi-examples/poi-ooxml/poi-ooxml-schemas/poi-scratchpad

    标题中的"poi全家桶ooxml-schemas/poi/poi-examples/poi-ooxml/poi-ooxml-schemas/poi-scratchpad"提及的是Apache POI项目中的多个关键组件和目录结构。Apache POI是一个开源的Java库,专门用于读写Microsoft Office...

    POI poi相关所有jar包 poi jar包 poi最全jar包

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel(.xlsx、.xls)、Word(.doc、.docx)和PowerPoint(.ppt、.pptx)。这个压缩包包含了POI项目中所有必要的jar包,总计十二个,确保了...

    POI中文帮助文档_POI_

    Apache POI是一个开源项目,主要用于读取和写入Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)和PowerPoint(.ppt/.pptx)。这个“POI中文帮助文档”提供了全面的指南,帮助开发者理解和...

    poi-3.17 poi-3.16

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Excel、Word和PowerPoint。POI 提供了一套 Java API,使得开发者可以在Java应用程序中读写Microsoft Office格式的文件。标题中的"poi-3.17 poi-...

    poi的所有jar包,poi, poi-ooxml,poi-ooxml-schemas的各个版本jar

    这个压缩包包含了POI项目的几个核心组件的jar文件,包括基础的`poi`库,以及支持Open XML格式(OOXML)的`poi-ooxml`和`poi-ooxml-schemas`。这些jar包在Java开发中非常有用,尤其是当你需要在应用程序中读取、写入...

    poi-3.10.1上传组件jar包 po poi-ooxml poi-ooxml-schemas

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Excel、Word和PowerPoint。这个"poi-3.10.1上传组件jar包"包含了处理这些文档所需的Java库,使得开发者可以在Java应用中创建、读取和修改Office...

    poi jar包 官网下载 最新poi官网资源

    关于poi ,Apache在今年,也就是在2017年9月15日 正式发布了POI 3.17版本, Apache POI团队对于3.17版本进行了一些功能的修复。主要是几个新的功能区域和许多错误修复。 POI 3.17是支持Java 6的最后一个版本。下一个...

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

    在IT行业中,POI(Point of Interest)是一个重要的概念,主要指地图上的兴趣点,例如商业场所、公共服务设施、交通站点等。百度POI和高德POI是两大知名的中国地图服务提供商,它们提供了丰富的地理信息数据,为...

    poi-3.9、poi-ooxml-3.9、poi-ooxml-schemas-3.9

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Excel、Word和PowerPoint。在Java编程环境中,Apache POI 提供了API,让开发者能够方便地读取、写入和修改这些文件。标题提到的"poi-3.9、poi-...

    poi导入到eclipse

    "poi导入到eclipse" 在本文中,我们将学习如何将poi导入到eclipse中,并搭建好eclipse环境项目,以便更深一步地学习Java读取Microsoft Office的文件。 首先,需要下载poi的jar包。截至本文发表,poi最新版本是...

    java对Excel的jar包poi-3.15,poi-3.16,poi-3.17

    Java中的Apache POI库是用于处理Microsoft Office格式文件的强大工具,特别是Excel(.xls和.xlsx)文件。在Java编程环境中,POI库提供了一种高效且灵活的方式来读取、写入和修改Excel文档。在提供的压缩包中,我们有...

    poi 的jar 包

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Excel、Word和PowerPoint。POI 提供了一套 Java API,使得开发者可以在Java应用程序中读取、写入和修改这些文件。这里的"poi 的jar 包"指的是...

    小软件POI数据下载神器

    今天分享一个能够实现零代码获取高德地图POI数据的工具。 该工具当前版本号为v1.3,主要功能特点包括: 支持通过拉框多边形以及点选省或地级市的方式输入POI数据下载范围 支持多选输入POI数据类型,例如酒店住宿、...

    poi官方文档资料

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Excel、Word和PowerPoint等。在本文中,我们将深入探讨Apache POI库,特别是它在处理Excel文件方面的能力。 Apache POI 提供了一个Java API,允许...

    poi3.17和poi4.0包含converter.jar

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Word(.doc、.docx)、Excel(.xls、.xlsx)等。在标题中提到的 "poi3.17和poi4.0包含converter.jar",指的是Apache POI的不同版本,其中...

    Apache POI for Android

    Apache POI 是一个著名的开源项目,主要为处理微软的Office文档格式提供了一个强大的Java API。在Android开发中,Apache POI 提供了处理Excel文件的能力,使得开发者可以在Android设备上进行Excel的读写操作,无需...

    poi-5.2.0-API文档-中文版.zip

    赠送jar包:poi-5.2.0.jar; 赠送原API文档:poi-5.2.0-javadoc.jar; 赠送源代码:poi-5.2.0-sources.jar; 赠送Maven依赖信息文件:poi-5.2.0.pom; 包含翻译后的API文档:poi-5.2.0-javadoc-API文档-中文(简体)版...

    poi-4.0.0 最新版poi jar包 for java

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Excel、Word和PowerPoint。在Java环境中,Apache POI提供了一套API,使得开发者可以方便地创建、修改和读取这些文档。"poi-4.0.0 最新版poi jar包 ...

    poi3.14jar包

    Apache POI 是一个开源项目,专门用于处理微软的Office文档格式,如Excel、Word和PowerPoint。这个"poi3.14jar包"是Apache POI的3.14版本,是一个Java库,允许开发者在Java应用程序中创建、读取和修改Microsoft ...

Global site tag (gtag.js) - Google Analytics