《Java操作Excel.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Java操作Excel

目前,有两套开源的库可以直接读写Excel文件: Apache组织下的Jakarta POI项目。 JExcelApi项目。 POI项目是读写微软的OLE2文档的一套API,包括Word文档,Excel文档,不过目前成熟的是操作Exce的HSSF子项目。 JExcelApi是一个韩国人开发的,只是针对Excel文件。 从功能来说,两者都支持: Excel文档的读写 支持对字体,数字,日期的格式化 支持对单元格加阴影和加色彩 支持公式的读写 修改存在的工作表 支持图片的创建 单元格的合并 不过HSSF的功能似乎更强大一些,还支持 设置打印区域 支持绘制图形(draw shape) 支持PNG,JPG,DIB三种图像格式(JExcelApi只支持PNG) 支持Headers and Footers,包括在页脚上添加页码 两者现在都不支持Excel的图表操作。 从学习的角度来说,HSSF用起来稍微复杂一些,包和包之间的关系比较复杂。而JExcelApi容易上手一些。 JExcelApi主要的类 JExcelApi将根据读写分成两大类,读的一类,写的一类。据说目的是为了提高读Excel的性能,读入Excel文件的时候,只专注于内容,不必解释那些格式化信息,如子题,背景色等等。(我认为将读格式化信息的方法做成懒加载的方式可能更好) 类 作用 Workbook 表示只读的Excel工作簿和构造Workbook的工厂类 WritableWorkbook 可写的Excel工作簿 Sheet 工作簿内的只读工作表 WritableSheet 工作簿内的可写工作表 Cell 单元格的接口,读出单元格的信息 WritableCell 可写单元格的接口 Label 内容为字符类型的Cell,可读可写 Number 内容为数字类型的Cell,可读可写 DateTime 内容为日期类型的Cell,可读可写 Boolean 内容为布尔量的Cell,可读可写 Formula 内容为公式类型的Cell,可读可写 CellFormat 读出单元格格式化信息 WritableCellFormat 设定单元格的格式化信息 Font 字体的接口,读出字体的信息 WritableFont 可以设定字体信息 JExcelApi的用法 读入工作表 Workbook workbook = Workbook.getWorkbook(new File(demo.xls)); Sheet sheet = workbook.getSheet(0); //单元格的索引从0开始,getCell(0,0)表示获得第一列第一行的单元格 Cell a1 = sheet.getCell(0,0); Cell b2 = sheet.getCell(1,1); Cell c2 = sheet.getCell(2,1); //获得单元格的内容,一律转化成字符 String stringa1 = a1.getContents(); String stringb2 = b2.getContents(); String stringc2 = c2.getContents(); 如果要知道单元格的内容的准确类型,那么要根据Cell.getType方法来判断 String string = null; double number = 0; Date date = null; Cell a1 = sheet.getCell(0,0); Cell b2 = sheet.getCell(1,1); Cell c2 = sheet.getCell(2,1); if (a1.getType() == CellType.LABEL) { LabelCell lc = (LabelCell) a1; string = lc.getString(); } if (b2.getType() == CellType.NUMBER) { NumberCell nc = (NumberCell) b2; number = nc.getValue(); } if (c2.getType() == CellType.DATE) { DateCell dc = (DateCell) c2; date = dc.getDate(); } 如果读出Excel文件内容之后,记得要擦屁股 //关闭workbook并且释放其所占用的内存 workbook.close(); 创建一个Excel文件 前面说过读和写分成两类,写Excel文件就不能用Workbook类来操作了,可写的Excel用Writable

文档评论(0)

lunwen1978 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档