java关于POI的使用问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java关于POI的使用问题相关的知识,希望对你有一定的参考价值。
cell1.setCellValue((String)list.get(rowsum);
这句话怎么会报错
改成cell1.setCellValue("Hello");就不会报错了
编译错误的话,是缺少括号造成
运行错误的话,贴上错误信息吧追问
运行错误,编译没有问题,奇怪的是居然没有报错==,这句话有返回值么,出错是返回false?
追答这个是没有返回值的。
没有报错的话,那你怎么知道有错误?
[F1=, C1=上年部门结余, F1=, C1= 财政拨款(补助)结余, F1=, C1= 其中:基本支出结余, F1=, C1= 项目支出结余, F1=, C1= 非税收入结余, F1=, C1= 政府性基金结余]
这个是list,我怎么感觉不对劲呢,每个元素里面怎么还有逗号?
你这个List里存的是什么?应该不是字符串吧。这是你强制转换成字符串的结果。
首先我觉得你导出EXCEL,你肯定知道你想要的数据,那么你就要把你想要的数据查出来,而查处来的这个结果List的格式你肯定是知道的,遍历这个List通过循环来将数据放到Poi的对象中,进行导出即可!至于你这个list中为什么是这样格式的,你应该是最清楚的,呵呵!
java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
报的这个错。。。。这个list存放的是HashMap?
我只想取 上年部门结余
财政拨款(补助)结余
基本支出结余。。。。。。
该怎么办呀
你可以定义一个对象,这个对象里包含你想要取的值,然后从数据库查出来数据,封装到这个对象中,把对象放入List,然后导出EXCEL时,将List遍历一下,就可以了。这个过程很简单。
参考技术C 缺一个右括号追问晕,是我搞错了,我程序里括号添加了的
追答这样的话就需要贴错误信息了,没有上下文只看一句话,就只能找找简单语法错误
追问java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
报的这个错。。。。这个list存放的是HashMap?
我只想取 上年部门结余
财政拨款(补助)结余
基本支出结余。。。。。。
该怎么办呀
list应该是用的哈希表存储的数据
haspMap是由Key跟Value组成的
如果要从hashMap里取数据
Key和Value都取出来可以这么做试试
cell1.setCellValue(list.get(rowsum).entrySet().iterator().next());
获取哈希表集合,取其游标,指向下一条记录(要确定数据不为空啊,不然会报错),下面这么写应该会清楚些
HashMap hm=list.get(rowsum);
Set content = hm.entrySet();
Iterator ite = content.iterator();
if(ite.hasNext())
cell1.setCellValue(ite.next());
你这样好像是把list里的hashmap取出来又放进了set中,cell1.setCellValue(ite.next());这句话还是会出错啊,ite.next()不是一个string对象。。。
追答嗯,返回值是Object类型,后面加个.toString()就可以显示内容了
以上是关于java关于POI的使用问题的主要内容,如果未能解决你的问题,请参考以下文章
关于java使用POI导出ppt ,其中表格setText 失败问题
关于 java poi 导出excel时 导出多个sheet的问题