该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-16
together 写道 楼主弄错了,jxl的作者是一位英国人吧?
这是他的邮箱。我和他交流过。 andyk@andykhan.freeserve.co.uk 这个我还真的不敢确定 我隐隐约约记得是韩国的 呵呵 |
|
返回顶楼 | |
发表时间:2006-10-16
thurm_zhang 写道 我们当时有个项目需要读写excel文件,所以稍微研究了一下这两个开源的组件,结果是poi对formula的支持不是很理想,对日期支持也有限(不过可以自定义类实现对日期的支持)。请问楼主有没有对jexcel和poi做全面的评估对比?
poi我没有在项目中使用过,只是看了下它的描述文档,貌似功能比jexcel多而且强大一点 但是我感觉jexcel简单一些,而且可以满足我的需求,事实jexcel确实比较好用 中文支持也不错,没有出现过乱码问题 不过好象更多人使用poi |
|
返回顶楼 | |
发表时间:2006-10-26
正需要用,谢谢!
|
|
返回顶楼 | |
发表时间:2006-10-26
温柔一刀 写道 将Excel文件内容写入到数据库
for ( int j = 0 ;j < column;j ++ ) { System.out.println( " j= " + j); sheet.getCell(j, i).getContents(); // 得到第j列第i行的单元格的类容 student_info.setStudentID(sheet.getCell(j, i).getContents()); student_info.setName(sheet.getCell( ++ j,i).getContents()); student_info.setSex(sheet.getCell( ++ j,i).getContents()); student_info.setUnit(sheet.getCell( ++ j,i).getContents()); student_info.setClass_(sheet.getCell( ++ j,i).getContents()); student_info.setSpecialty(sheet.getCell( ++ j,i).getContents()); student_info.setRemark(sheet.getCell( ++ j,i).getContents()); } 这层循环好像不要吧...看你的好像知道多少列的嘛,为什么列还要循环呢? 取一行数据循环按列这么多次好像不对吧 |
|
返回顶楼 | |
发表时间:2006-10-26
阿九 写道 温柔一刀 写道 将Excel文件内容写入到数据库
for ( int j = 0 ;j < column;j ++ ) { System.out.println( " j= " + j); sheet.getCell(j, i).getContents(); // 得到第j列第i行的单元格的类容 student_info.setStudentID(sheet.getCell(j, i).getContents()); student_info.setName(sheet.getCell( ++ j,i).getContents()); student_info.setSex(sheet.getCell( ++ j,i).getContents()); student_info.setUnit(sheet.getCell( ++ j,i).getContents()); student_info.setClass_(sheet.getCell( ++ j,i).getContents()); student_info.setSpecialty(sheet.getCell( ++ j,i).getContents()); student_info.setRemark(sheet.getCell( ++ j,i).getContents()); } 这层循环好像不要吧...看你的好像知道多少列的嘛,为什么列还要循环呢? 取一行数据循环按列这么多次好像不对吧 ??? 莫名其妙! |
|
返回顶楼 | |
发表时间:2006-10-26
至于生成PDF,iText还是不错的,功能比较全,就是image的处理不太好,费内存。
http://www.lowagie.com/iText/ |
|
返回顶楼 | |
发表时间:2006-10-27
请问有人知道产生PDF文件格式的第三方包吗?想extremeTable 在生成PDF文件,有中文问题,解决不了!
|
|
返回顶楼 | |
发表时间:2006-10-27
解析pdf呢,pdfbox有可以得到整个pdf文件的String的函数,操作很简单,可惜不支持中文,其他的操作pdf的lib我试了很多,好像都不支持直接得到整个pdf文件的String.
|
|
返回顶楼 | |
发表时间:2006-10-27
小贾 写道 阿九 写道 温柔一刀 写道 将Excel文件内容写入到数据库
for ( int j = 0 ;j < column;j ++ ) { System.out.println( " j= " + j); sheet.getCell(j, i).getContents(); // 得到第j列第i行的单元格的类容 student_info.setStudentID(sheet.getCell(j, i).getContents()); student_info.setName(sheet.getCell( ++ j,i).getContents()); student_info.setSex(sheet.getCell( ++ j,i).getContents()); student_info.setUnit(sheet.getCell( ++ j,i).getContents()); student_info.setClass_(sheet.getCell( ++ j,i).getContents()); student_info.setSpecialty(sheet.getCell( ++ j,i).getContents()); student_info.setRemark(sheet.getCell( ++ j,i).getContents()); } 这层循环好像不要吧...看你的好像知道多少列的嘛,为什么列还要循环呢? 取一行数据循环按列这么多次好像不对吧 ??? 莫名其妙! 怎么会莫名奇妙呢?只是对这段程序有疑问而已。。。。为什么要循环列呢? 是不是应该这样写呢? student_info.setStudentID(sheet.getCell(0, i).getContents()); student_info.setName(sheet.getCell( 1,i).getContents()); student_info.setSex(sheet.getCell( 2,i).getContents()); student_info.setUnit(sheet.getCell( 3,i).getContents()); student_info.setClass_(sheet.getCell( 4,i).getContents()); student_info.setSpecialty(sheet.getCell( 5,i).getContents()); student_info.setRemark(sheet.getCell( 6,i).getContents()); |
|
返回顶楼 | |
发表时间:2006-10-27
阿九 写道 小贾 写道 阿九 写道 温柔一刀 写道 将Excel文件内容写入到数据库
for ( int j = 0 ;j < column;j ++ ) { System.out.println( " j= " + j); sheet.getCell(j, i).getContents(); // 得到第j列第i行的单元格的类容 student_info.setStudentID(sheet.getCell(j, i).getContents()); student_info.setName(sheet.getCell( ++ j,i).getContents()); student_info.setSex(sheet.getCell( ++ j,i).getContents()); student_info.setUnit(sheet.getCell( ++ j,i).getContents()); student_info.setClass_(sheet.getCell( ++ j,i).getContents()); student_info.setSpecialty(sheet.getCell( ++ j,i).getContents()); student_info.setRemark(sheet.getCell( ++ j,i).getContents()); } 这层循环好像不要吧...看你的好像知道多少列的嘛,为什么列还要循环呢? 取一行数据循环按列这么多次好像不对吧 ??? 莫名其妙! 怎么会莫名奇妙呢?只是对这段程序有疑问而已。。。。为什么要循环列呢? 是不是应该这样写呢? student_info.setStudentID(sheet.getCell(0, i).getContents()); student_info.setName(sheet.getCell( 1,i).getContents()); student_info.setSex(sheet.getCell( 2,i).getContents()); student_info.setUnit(sheet.getCell( 3,i).getContents()); student_info.setClass_(sheet.getCell( 4,i).getContents()); student_info.setSpecialty(sheet.getCell( 5,i).getContents()); student_info.setRemark(sheet.getCell( 6,i).getContents()); 恩,说的对,是没有必要,自己没有怎么想,开始感觉应该是两层循环 后来貌似不得不用++j来表示,呵呵,列是知道的,其实大可用您的那种写法 而且更简洁,Thanks. |
|
返回顶楼 | |