|
使用java操作Excel文件(1)
1. 必要性 Excel是一种常见的文档格式,通常情况下大多数的客户都对使用Excel十分的精通。对于我们来说,客户善于使用就可以使我们免于培训的烦恼。而某些系统往往需要录入相当量的数据,这些数据一般以某种特定的格式保存。而Excel正是一种相当规格的数据保存方式,至少它是易于格式化的,而且客户也能够按照某种特定的格式来将数据录入到Excel文件中去。所以综上,我们有必要了解如何用纯Java来读取Excel文件。 2. 目的 我们希望用户将资料录入Excel的目的往往只有一个就是将这些数据导入到数据库中去。数据库往往比较复杂,而且各种不同的数据库产品之间是不同的,这种区别无疑的增加了我们导入的困难。从Excel文件来说,用户录入的数据往往并不能直接使用,要经过逻辑处理或者出错的判断,或者默认的改正等。如果能够使用Java来直接读取Excel文件,无疑会使我们能够较从容的解决这些问题。 3. 其他的方法 将数据从Excel文件中读出来还有一个方法,就是使用odbc。然后再用jdbc-odbc桥来将数据从Excel文件中读出到Java中来,不过这种方法必须配odbc,针对excle文件配odbc是一件很麻烦的事情,而且难以操控,所以这只能是一种暂时的解决方法。 4. POI POI是Apache的Jakata项目,POI 代表 Poor Obfuscation Implementation,即不良模糊化实现。POI 的目标就是提供一组 Java API 来使得基于 Microsoft OLE 2 Compound Document 格式的 Microsoft Office 文件易于操作。一些 POI API 仅仅是为最常用的 Microsoft Office 文件 Word 和 Excel 而开发的;而其他的 API 则是用于通用的 OLE 2 Compound Document 和属性文件。POI可以到www.apache.org下载到。编译好的jar主要有这样4个:poi包,poi Browser包,poi hdf包,poi hssf例程包。实际运行时,需要有poi包就可以了。POI 是一个开放源代码项目,并且得到了数百名志愿者的不断更新。可以在 http://jakarta.apache.org/builds/jakarta-poi/ 上获得源代码和文档。通过POI包,我们不仅可以操纵Excel文档,也能够操控Word文档,以及其他的OLE2格式的文档。 5. HSSF HSSF 代表 Horrible Spreadsheet Format(可怕的电子表格格式)。API 给程序员提供了极其容易地读写或操作 Microsoft Excel 97-2002 文件的能力。这些API都由POI包来提供,实际使用是我们只需要POI包就可以了。 6. 操作Excel文件 HSSF提供给用户使用的对象在org.apache.poi.hssf.usermodel包中,主要部分包括Excell对象,样式和格式,还有辅助操作。有以下几种对象: HSSFWorkbook Excell的文档对象 HSSFSheet Excell的表单 HSSFRow Excell的行 HSSFCell Excell的格子单元 HSSFFont Excell字体 HSSFName 名称 HSSFDataFormat 日期格式 在poi1.7中才有以下2项: HSSFHeader sheet头 HSSFFooter sheet尾 和这个样式 HSSFCellStyle cell样式 辅助操作包括 HSSFDateUtil 日期 HSSFPrintSetup 打印 HSSFErrorConstants 错误信息表 我们经常能够使用到的还是读取Excel文件,下面看一个例子: POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("workbook.xls"));
|