起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16619|回复: 11

[结贴] 不支持数据类型"org.apache.poi.hssf.usermodel.HSSFRow

[复制链接]

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
发表于 2016-2-23 10:32:11 | 显示全部楼层 |阅读模式
版本: BeX5V3.1 小版本号:
数据库: Oracle 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome
请问在X5中不支持外部jar包么?使用:
jar.png

外部jar包导入后,存放到HashMap<String,Row>会出现这个异常,为啥?我的action是这么写的:
public static HashMap<String,Row> readExcel(String fileName) {
                boolean isE2007 = false; // 判断是否是excel2007格式
                if (fileName.endsWith("xlsx"))//判断后缀是否相同
                        isE2007 = true;
                try {
                        InputStream input = new FileInputStream(fileName); // 建立输入流
                        Workbook wb = null;
                        // 根据文件格式(2003或者2007)来初始化
                        if (isE2007){
                                wb = new XSSFWorkbook(input);
                        }else{
                                wb = new HSSFWorkbook(input);
                        }
                        Sheet sheet = wb.getSheetAt(0); // 获得第一个表单
                        //创建Map
                        HashMap<String,Row> map = new HashMap<String,Row>();
                        for(int i = 1;i<=sheet.getLastRowNum();i++){//共4行  长度3
                                map.put(i+"", sheet.getRow(i));
//                                System.out.println(sheet.getRow(i));
                        }
                       
                        return map;
                } catch (Exception ex) {
                        throw new RuntimeException("ReadExcel Exception:"+ex.getMessage());
                }
        }

异常信息如下:
com.justep.exception.BusinessException: 编码: JUSTEP150087; 提示: 不支持数据类型"org.apache.poi.hssf.usermodel.HSSFRow@1512a40", class "class org.apache.poi.hssf.usermodel.HSSFRow"
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.transform.ResultTransform.transformByJson(Unknown Source)
        at com.justep.system.transform.ResultTransform.transformMapByJson(Unknown Source)
        at com.justep.system.transform.ResultTransform.transformCompObjectByJson(Unknown Source)
        at com.justep.system.transform.ResultTransform.transformByJson(Unknown Source)
        at com.justep.system.transform.ResultTransform.transform(Unknown Source)
        at com.justep.system.transform.ResponseTransform.transform(Unknown Source)
        at com.justep.system.action.Engine.translateResult(Unknown Source)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-2-23 11:28:54 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
 楼主| 发表于 2016-2-23 13:43:05 | 显示全部楼层
我是这么做的。当hashmap的key为Integer类型时会报java.lang.Integer cannot be cast to java.lang.String异常(提示的确实前台引用的问题);当key类型为string时,会报上面的异常。这是怎么回事呢?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-2-23 15:09:17 | 显示全部楼层
这个是标准的控制,X5不会去控制,可以到网上查一下相关的错误信息,或者可以用List
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
 楼主| 发表于 2016-2-23 15:28:13 | 显示全部楼层
我再次尝试用对象数组存储,eclipse正常,x5运行提示:com.justep.exception.BusinessException: 编码: JUSTEP150087; 提示: 不支持数据类型"[Ljava.lang.Object;@169ec5f", class "class [Ljava.lang.Object;" 异常.png


回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-2-23 16:38:22 | 显示全部楼层
平台默认支持序列化和反序列化的类型:
String,Integer,Float,Date,Time,DateTime,
Blob,Boolean,Decimal,Text,Table,
Map,Xml,List
Object
其他的Object需要实现接口来完成:com.justep.system.transform.XMLSerialization或者com.justep.system.transform.JSONSerialization
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
 楼主| 发表于 2016-2-23 16:45:57 | 显示全部楼层
我发现只要存放到Map中就会报错,list不会。像上面我用对象数组,是用Object类型的也会;刚换成了Map<Integer,LinkedList<String>>也会报异常。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-2-23 17:13:36 | 显示全部楼层
那可以直接用List去存储,平台默认支持序列化和反序列化的类型就是6楼发的

其他的需要用Object
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
 楼主| 发表于 2016-2-24 10:22:58 | 显示全部楼层
List存储,传递到前台去,后面数据过多的话,很难管理;所以才用map的方式。只是发现不行。试了好几种方式都是在eclipse运行正常,x5action就报错
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-2-24 11:59:22 | 显示全部楼层
平台案例中的Map用string 和object就没问题
/BIZ/demo/actions/logic/code/dsrc/Actions.java
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-2 06:04 , Processed in 0.074033 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表