- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
jxl中文教程
Excel开发文档1 开发调研1.1 需求描述MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。作为办公文档,势必要涉及到的电子文档的交换,Excel是一种在企业中非常通用的文件格式,打印和管理也比较方便。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。1.2 Excel开发常用开源工具在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。1.3 比较开源工具的优缺点1.3.1 Jxl优缺点Jxl特征有如下描述:● 支持Excel 95-2000的所有版本● 生成Excel 2000标准格式● 支持字体、数字、日期操作● 能够修饰单元格属性● 支持图像和图表应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。1.3.2 Poi优缺点Jakarta 的 POI Project 与 Java Excel API 在开源世界中可以说是并驾齐驱,但是也各有优劣,poi在某些细节有些小Bug并且不支持写入图片(poi其实可以写入图片,不过没有jxl来的方便,比较麻烦),其他方面都挺不错的;而JXL提供了对图片的支持(但是仅仅支持png格式的图片),问题就是对公式支持不是很好,但还是提供了简单的公式读取支持。因此你的项目中要选用什么样的第三方插件为完全由你的应用来决定。如果你的软件是跟财务有相当的关系的话,建议采用 POI Project,就我所在目前的项目来说由于用不到计算公式,而且很可能需要导出图片,因此,我的选择是 JXL 。1.4 性能比较以及最终选择1.4.1 内存消耗:(来自网络)谈下JVM虚拟机内存消耗的情况.数据量3000条数据,每条60列.JVM虚拟机内存大小64M.使用POI:运行到2800条左右就报内存溢出.使用JXL:3000条全部出来,并且内存还有21M的空间.可想而知,在对内存的消耗方面差距还是挺大的.也许是由于JXL在对资源回收利用方面做的还挺不错的。1.4.2 速度效率(读取excel数据)(来自网络)文件 POI加载耗时 POI总耗时 JXL加载耗时 Jxl总耗时文件大小57KB 1172 ms 1172 ms 1265 ms 2250 ms文件大小652KB 2297 ms 2313 ms 4406 ms 9750 ms文件大小2.24M 3109ms 3140ms 16313ms 37453ms1.4.3 写excel速度效率jxl插入数据比poi速度要快1.4.4 功能对比相比提供的功能的话,JXL相对弱了点.所以如果要实现的功能比较复杂的情况下可以考虑使用POI,但如果只想生成一些大数据量可以考虑使用JXL,或者CSV也是一个不错的选择,不过CSV并不是真正的excel,然而jxl插入数据比poi速度要快。2 Jxl开发指南2.1 介绍jxl操作excel包括对象Workbook,Sheet ,Cell。一个excel就对应一个Workbook对象,一个Workbook可以有多个Sheet对象一个Sheet对象可以有多个Cell对象2.2 读取excel操作通过Workbook,Sheet ,Cell这三个对象我们就可以实现Excel文件的读取工作。我们先想想一下读取步骤,不管是什么样的Excel操作框架必定都要经历1、 选取Excel文件得到工作薄2、 选择工作表3、 选择Cell4、 读取信息2.2.1 读取工作薄选取Excel文件得到工作薄WorkbookWorkbook workbook = Workbook.getWorkbook(new File(myfile.xls));2.2.2 读取工作表通过Workbook的getSheet方法选择第一个工作表(从0开始)Sheet sheet = workbook.getSheet(0);也可以通过工作的名称来得到Sheet2.2.3 读取单元格通过Sheet的getCell方法选择位置为C2的单元格(两个参数都从0开始)Cell c2 = sheet.getCell(2,1); 读取单元格的值 通过Cell的getContents方法把单元格中的信息以字符的形式读取出来String stringc2 = c2.getContents(); Cell提供了一个getType方法能够返回单元格的类型信息,同时JXL提供了一个C
文档评论(0)