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

QQ登录

只需一步,快速开始

123
返回列表 发新帖
楼主: 594狂

[结贴] 上傳一張excel到多個資料表(Table)

[复制链接]

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-12-14 16:07:23 | 显示全部楼层
Upload_excelProcess.upload_excelProcessAfterImportExcelBeforeAction(Upload_excelProcess.java:80)执行
KSQL.executeUpdate中第三个参数不正确,这个是填你有执行的概念所在的BIZ层的data模块的路径
如/demo/misc/data
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

19

主题

78

帖子

204

积分

中级会员

Rank: 3Rank: 3

积分
204
QQ
 楼主| 发表于 2016-12-14 16:48:28 | 显示全部楼层
路徑照你說的改了,但還是有問題


java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        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)
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP151044; 提示: 编译模块"/dfs/dfs1/process/upload_excel"中的类"Upload_excelProcess"出错
warning: [options] bootstrap class path not set in conjunction with -source 1.5
warning: [options] source value 1.5 is obsolete and will be removed in a future release
warning: [options] target value 1.5 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
C:\bex5_36\model\BIZ\dfs\dfs1\process\upload_excel\dsrc\Upload_excelProcess.java:28: error: cannot find symbol
                ImportConfig importConfig = (ImportConfig) ModelUtils.getRequestContext().getActionContext().getParameter("config");                 
                ^
  symbol:   class ImportConfig
  location: class Upload_excelProcess
C:\bex5_36\model\BIZ\dfs\dfs1\process\upload_excel\dsrc\Upload_excelProcess.java:28: error: cannot find symbol
                ImportConfig importConfig = (ImportConfig) ModelUtils.getRequestContext().getActionContext().getParameter("config");                 
                                             ^
  symbol:   class ImportConfig
  location: class Upload_excelProcess
C:\bex5_36\model\BIZ\dfs\dfs1\process\upload_excel\dsrc\Upload_excelProcess.java:29: error: cannot find symbol
                List<ImportRelationConfig> list = importConfig.getExtendConfig("option");// 这的参数是import.mapping.xml中要自己要导入表的的节点名称
                ^
  symbol:   class List
  location: class Upload_excelProcess
C:\bex5_36\model\BIZ\dfs\dfs1\process\upload_excel\dsrc\Upload_excelProcess.java:29: error: cannot find symbol
                List<ImportRelationConfig> list = importConfig.getExtendConfig("option");// 这的参数是import.mapping.xml中要自己要导入表的的节点名称
                     ^
  symbol:   class ImportRelationConfig
  location: class Upload_excelProcess
C:\bex5_36\model\BIZ\dfs\dfs1\process\upload_excel\dsrc\Upload_excelProcess.java:33: error: cannot find symbol
                List listName = new ArrayList();
                ^
  symbol:   class List
  location: class Upload_excelProcess
C:\bex5_36\model\BIZ\dfs\dfs1\process\upload_excel\dsrc\Upload_excelProcess.java:33: error: cannot find symbol
                List listName = new ArrayList();
                                    ^
  symbol:   class ArrayList
  location: class Upload_excelProcess
C:\bex5_36\model\BIZ\dfs\dfs1\process\upload_excel\dsrc\Upload_excelProcess.java:34: error: cannot find symbol
                List listValue = new ArrayList();
                ^
  symbol:   class List
  location: class Upload_excelProcess
C:\bex5_36\model\BIZ\dfs\dfs1\process\upload_excel\dsrc\Upload_excelProcess.java:34: error: cannot find symbol
                List listValue = new ArrayList();
                                     ^
  symbol:   class ArrayList
  location: class Upload_excelProcess
C:\bex5_36\model\BIZ\dfs\dfs1\process\upload_excel\dsrc\Upload_excelProcess.java:37: error: cannot find symbol
                for (ImportRelationConfig irc : list) {
                     ^
  symbol:   class ImportRelationConfig
  location: class Upload_excelProcess
9 errors
4 warnings

        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.model.impl.ModelImpl$DynamicClassManager.compile(Unknown Source)
        at com.justep.model.impl.ModelImpl$DynamicClassManager.getDynamicClass(Unknown Source)
        at com.justep.model.impl.ModelImpl$DynamicClassManager.getDynamicMethod(Unknown Source)
        at com.justep.model.impl.ModelImpl.getModelMethod(Unknown Source)
        at com.justep.system.action.Engine.invokeAction(Native Method)
        at com.justep.system.action.Engine.invokeAction(Unknown Source)
        at com.justep.model.impl.UtilImplementInstance.invokeAction(Unknown Source)
        at com.justep.system.action.ActionUtils.invokeAction(Unknown Source)
        at com.justep.excel.ImportGenerator.generate(ImportGenerator.java:121)
        at Excel.importExcel(Excel.java:88)
        ... 27 more
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-12-14 17:12:08 | 显示全部楼层
这种就是java标准的报错,最好自己能看到

ImportRelationConfig、ImportConfig、ArrayList、List这些类导入了吗?

你的这个java用作源码路径就会有错误提示
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

19

主题

78

帖子

204

积分

中级会员

Rank: 3Rank: 3

积分
204
QQ
 楼主| 发表于 2016-12-14 18:14:44 | 显示全部楼层
本帖最后由 594狂 于 2016-12-15 08:48 编辑
jishuang 发表于 2016-12-14 17:12
这种就是java标准的报错,最好自己能看到

ImportRelationConfig、ImportConfig、ArrayList、List这些类导 ...

照您說的導入了,但依舊看不懂接下來的問題是哪裡導致的

我的mapping.xml只設定了po_type和cust_po_no兩個欄位,照理說values也只應該出現兩個欄位,怎麼全都被抓出來了

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        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)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.justep.system.action.Engine.invokeAction(Native Method)
        at com.justep.system.action.Engine.invokeAction(Unknown Source)
        at com.justep.model.impl.UtilImplementInstance.invokeAction(Unknown Source)
        at com.justep.system.action.ActionUtils.invokeAction(Unknown Source)
        at com.justep.excel.ImportGenerator.generate(ImportGenerator.java:121)
        at Excel.importExcel(Excel.java:88)
        ... 27 more
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: insert into Po_purmaster ex (ex.po_type,ex.cust_po_no) values(po type,Customer Code,Order Type in SAP,PO#,PO Item,Customer Reference#,Incoterms,Order Date,Ship-to-party,Customer PN,Qty,Unit Price,Currency,Request Date,Remark)         at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlInsert(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlExecuteUpdate(Unknown Source)
        at com.justep.system.data.KSQL.executeUpdate(Unknown Source)
        at com.justep.system.data.KSQL.executeUpdate(Unknown Source)
        at com.justep.system.data.KSQL.executeUpdate(Unknown Source)
        at Upload_excelProcess.upload_excelProcessAfterImportExcelBeforeAction(Upload_excelProcess.java:61)
        ... 37 more
Caused by: com.justep.exception.KSQLException: 编码: JUSTEP154115; 提示: KSQL语法错误, _no) values(po ^^type,Customer C中未找到需要的元素, 位置65期望是)
        at com.justep.exception.KSQLException.create(Unknown Source)
        at com.justep.system.ksql.token.TokenManager.matchToken(Unknown Source)
        at com.justep.system.ksql.token.TokenManager.match(Unknown Source)
        at com.justep.system.ksql.parser.InsertParser.insertValues(Unknown Source)
        at com.justep.system.ksql.parser.InsertParser.start(Unknown Source)
        at com.justep.system.ksql.parser.InsertParser.start(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.parse(Unknown Source)
        ... 43 more






擷取.PNG
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-12-15 09:05:21 | 显示全部楼层
看你的ksql什么地方拼的,明显ksql不正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

19

主题

78

帖子

204

积分

中级会员

Rank: 3Rank: 3

积分
204
QQ
 楼主| 发表于 2016-12-15 10:00:56 | 显示全部楼层
jishuang 发表于 2016-12-15 09:05
看你的ksql什么地方拼的,明显ksql不正确

我是完全照著連結裡寫的(請看下面紅字部分),我沒有自己改ksql

ImportConfig importConfig = (ImportConfig)ModelUtils.getRequestContext().getActionContext().getParameter("config");
List<ImportRelationConfig> list=importConfig.getExtendConfig("option");//这的参数是import.mapping.xml中要自己要导入表的的节点名称
Sheet sheet=workBook.getSheetAt(1);
Iterator<Row> it=sheet.iterator();
Map map=new HashMap();
List listName=new ArrayList();
List listValue=new ArrayList();
Row row=null;
Cell cell=null;
for(ImportRelationConfig irc:list){
     listName.add(irc.getMetaCellIndex(),irc.getMetaName());
}
while(it.hasNext()){
     row=it.next();
Iterator<Cell> ce=row.cellIterator();
     int num=0;
     while(ce.hasNext()){
            cell=ce.next();
            listValue.add(num++,cell);
     }
StringBuffer sb1=new StringBuffer();
StringBuffer sb2=new StringBuffer();
for(int i=0;i<listName.size();i++){
     sb1.append(","+"ex."+listName.get(i));
}
for(int j=0;j<num;j++){
     sb2.append(","+listValue.get(j));
}
String ksql="insert into "+importConfig.getName()+" ex "+"("+sb1.deleteCharAt(0)+") values("+sb2.deleteCharAt(0)+")";
KSQL.executeUpdate(ksql, null,"/excel/excel/data", null);
}

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2016-12-15 11:34:09 | 显示全部楼层
1.listName是从配置文件中到的
2.listValue是从excel中读取的,excel中列多余配置文件中的时候自己控制取那列的值啊

要自己理解java代码
而且值上应加引号,

po type,Customer Code
这样不加引号肯定不正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 15:20 , Processed in 0.077400 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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