excel导入问题提交
3.1的时候测试一个excel的导入一直发现导入不进去
各种跟 各种debug 最后终于发现问题了
然后等3.2看是否会改掉
昨天3.2一出来马上看了下
excel导入很多问题都修复了
这个问题应该还是存在,但是几率应该很低
我这边wps 和excel都用 不知道是不是由于 excel 和wps 兼容的问题
问题如下
近期碰到一个excel 有一列没有值 不是 空值 测试的时候 发现怎么导入都导入不进去跟踪发现的这个问题
问题根源在于Iterator 的next 这个next
假设 cellbody 1 2 3 4 列1 3 4 列有值 2 列 没有值 不是空值
那么对应的titleString是4个
这个时候 Iterator 的next 在2列时 nowid 会直接跳到3 这样cellbody 就只循环了3次
也就是说这个时候会把 excel 第3列的值写入到 java entity对应的 第2列里面去
ExcelUtil 661行
// 用来格式化日期的DateFormat
// SimpleDateFormat sf;
while (row.hasNext()) {
// 标题下的第一行
Row rown = row.next();
// 行的所有列
Iterator<Cell> cellbody = rown.cellIterator();
// 得到传入类的实例
Object tObject = pojoClass.newInstance();
int k = 0;
// 遍历一行的列
while (cellbody.hasNext()) {
Cell cell = cellbody.next();
// 这里得到此列的对应的标题
String titleString = (String) titlemap.get(k);
// 如果这一列的标题和类中的某一列的Annotation相同,那么则调用此类的的set方法,进行设值
if (fieldSetMap.containsKey(titleString)) {
Method setMethod = (Method) fieldSetMap.get(titleString);
// 得到setter方法的参数
Type[] ts = setMethod.getGenericParameterTypes();
// 只要一个参数
String xclass = ts.toString();
这里不知道是就我碰到这个问题
还是因为wps 和 excel 兼容性产生的问题
其实解决方法也很简单 k 值用 该cellbody 的 nowid 替换 问题就解决了
但是不知道这样修改会不会对后面的写入造成影响
近期用jeecg作了个小项目
感觉方便了很多
也希望jeecg越发展越好
我碰到的更怪,做了个实例,基本就是原样照搬例子,发现IE可导入,没问题,但FIREFOX导不进去。但例子程序无论ie还是firefox都OK。
页:
[1]