首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

应用POI处理Excel文档

2012-07-25 
使用POI处理Excel文档使用POI处理Excel文档 JAVA DOC :http://jakarta.apache.org/poi/apidocs/index.html

使用POI处理Excel文档
使用POI处理Excel文档 JAVA DOC :http://jakarta.apache.org/poi/apidocs/index.html
??? POI是一个优秀的Java开源项目, 专用于解析和生成与Microsoft OLE 2相关的文件类型, 如Word, Excel等.

POI包总说:

??? 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文档各个属性的工具类.

输出Excel文档
??? 首先, 创建一个 HSSFWorkbook 对象.
??? 从 HSSFWorkbook 对象获取一个 HSSFSheet 对象, 请注意, 这是你从 Workbook 对象获取 Worksheet 对象的唯一方法.
??? 对于 Worksheet 对象没有公共的构造方法, 这很自然是因为Excel模型中, Worksheet 也不能独立于 Workbook 而存在.
??? 类似的, 你可以从 Worksheet 对象中获取 HSSFRow 对象, 从 HSSFRow 对象中获取 HSSFCell 对象--每种类型依赖于它
??? 的父类型而存在.
??? 为了创建表头, 使用 Region 对象创建行和列的合并区域. 注意, 行和列的都是以 0 基数的.
??? 使用 HSSFCell 对象的 setCellValue 方法为单元格设置数据, 单元格支持所有 Java 本地的对象如 String, int 等. API 也支持
??? 其他通常使用的数据类型.
??? HSSF 中的 HSSFStyle 类处理所有与单元格显示相关的属性, 如颜色, 字体, 高度, 宽度等.你可以为特定的单元格对象创建相对
??? 的属性.对于复杂的属性如字体, 颜色等 HSSF 也提供了 HSSFFont 和 HSSFColor 对象.
??? 单元格支持公式.
??? 最后, 为了在文件系统上物理的创建一个Excel文档, 你需要从 HSSFWorkbook 对象调用 write 方法, 并将 OutputStream 对象传入.

输入Excel文档
??? HSSF 提供一个特别的 POIFSFileSystem 对象特定的读取 Microsoft OLE 2 对象. 使用 POIFSFileSystem 对象, 你从一个特定的
??? Excel 文档中构造 HSSFWorkbook 对象.

Web应用程序中使用 Java 访问 Excel 对象
??? 使用 MIME 类型字符串 "application/vnd.ms-excel"
??? 在 Response 的头中, Content-disposition 条目怎样将内容分发到浏览器, inline 属性表明浏览器应当在打开这个文档前提示
??? "打开/保存/取消" 对话框.
==========================================================================================================================
怎样使用 poi包
http://jakarta.apache.org/builds/jakarta-poi/
里面有3个目录,下realese->bin->jakarta-poi-1.5.1-final-bin.zip

文件解开后,把jakarta-poi-contrib-1.5.1-final-20020615.jar放到
JAVA—HOME:\j2sdk\jre\lib\ext中

一切OK!!
使用POI读取excel的问题
-----------------------------------------------------

有两个问题:?
?
1? 在web应用中,怎么配置POI?
?
2? 有读取excel文件的例子吗,在jsp中?
?
?
---------------------------?
?
将poi的.jar文件放在你的应用的WEB-INF\lib目录下就可以在本应用中用了.?
---------------------------?
?
1? 把poi的包放到web-inf的lib目录下就行了?
2?
?import? org.apache.poi.hssf.usermodel.HSSFWorkbook;?
import? org.apache.poi.hssf.usermodel.HSSFSheet;?
import? org.apache.poi.hssf.usermodel.HSSFRow;?
import? org.apache.poi.hssf.usermodel.HSSFCell;?
import? java.io.FileInputStream;?
public? class? ReadXL? {?
 /**? Excel文件的存放位置。注意是正斜线*/?
 public? static? String? fileToBeRead="D:/JTest/? gongye.xls";?
 public? static? void? main(String? argv[]){???
 try{?
  //? 创建对Excel工作簿文件的引用?
  HSSFWorkbook? workbook? =? new? HSSFWorkbook(new? FileInputStream(fileToBeRead));?
  //? 创建对工作表的引用。?
  //? 本例是按名引用(让我们假定那张表有着缺省名"Sheet1")?
  HSSFSheet? sheet? =? workbook.getSheet("Sheet1");?
  //? 也可用getSheetAt(int? index)按索引引用,?
  //? 在Excel文档中,第一张工作表的缺省索引是0,?
  //? 其语句为:HSSFSheet? sheet? =? workbook.getSheetAt(0);?
  //? 读取左上端单元?
  HSSFRow? row? =? sheet.getRow(0);?
  HSSFCell? cell? =? row.getCell((short)0);?
  //? 输出单元内容,cell.getStringCellValue()就是取所在单元的值?
  System.out.println("左上端单元是:? "? +? cell.getStringCellValue());???
 }catch(Exception? e)? {?
  System.out.println("已运行xlRead()? :? "? +? e? );?
 }?
}?
}
==========================================================================================================================
如何使用Java POI生成Excel表文件 !
?发布者:[本站编辑]? 来源:[]? 浏览:[]? 评论:[]? 字体:大 中 小??
?

// 使用Java POI
// 把要两个JAR文件放到lib/ext下
// code run against the jakarta-poi-1.5.0-FINAL-20020506.jar.
//????????????????? and commons-logging-1.0.jar
例子程序:
import org.apache.poi.hssf.usermodel.*;
import java.io.FileOutputStream;

// code run against the jakarta-poi-1.5.0-FINAL-20020506.jar.
//????????????????? and commons-logging-1.0.jar
public class PoiTest {

static public void main(String[] args) throws Exception {

?FileOutputStream fos = new FileOutputStream(d:\\\\foo.xls);
?HSSFWorkbook wb = new HSSFWorkbook();
?HSSFSheet s = wb.createSheet();
?wb.setSheetName(0, Matrix);
?for(short i=0; i<50; i++) {
? HSSFRow row = s.createRow(i);
? for(short j=0; j<50; j++) {
?? HSSFCell cell = row.createCell(j);
?? cell.setCellValue(+i+,+j);
? }
?}
?wb.write(fos);
?fos.close();
}
}

热点排行