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

QQ登录

只需一步,快速开始

查看: 5525|回复: 4

[结贴] excel导入带参数,把excel内容和参数一起保存到数据库

[复制链接]

163

主题

561

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
QQ
发表于 2018-3-26 13:52:57 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
看了这个帖子
http://docs.wex5.com/bex5-ui-question-list-10121/
没懂。
在***ProcessBeforeUploadImportExcel()方法中能取到参数,可Workbook workBook = (Workbook)ModelUtils.getRequestContext().getActionContext().getParameter("excel");这个报错
如果我想通过导入,数据一部分来源Eexcel一部分来源于js中的参数,怎样把两个合并后,一起保存?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-3-26 14:16:55 | 显示全部楼层
报错发具体的错误信息

要带参数就是这个链接中的说明
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

163

主题

561

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
QQ
 楼主| 发表于 2018-3-26 14:30:32 | 显示全部楼层
jishuang 发表于 2018-3-26 14:16
报错发具体的错误信息

要带参数就是这个链接中的说明

接收参数:123
2018-03-26 14:28:03 excute stream action, params:{process=/billManage/billManage/process/openBill/openBillProcess, activity=openBillMainActivity, action=uploadImportExcel, parameters={excel=java.io.ByteArrayInputStream@14cfbbb, p1=123, mapping=java.io.ByteArrayInputStream@1e37b11}}
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.BusinessServer.excuteMultipartAction(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.ClassCastException: java.io.ByteArrayInputStream cannot be cast to org.apache.poi.ss.usermodel.Workbook
        at OpenBillProcess.openBillProcessBeforeUploadImportExcel(OpenBillProcess.java:28)
        ... 28 more

参数能接收到。
可excel的表格又没了。。。
public static void openBillProcessBeforeImportExcelBeforeAction() throws Exception{
                Workbook workBook = (Workbook)ModelUtils.getRequestContext().getActionContext().getParameter("excel");
//                System.out.println(ModelUtils.getRequestContext().getActionContext().getParameter("p1"));
                Sheet sheet=workBook.getSheetAt(0); //获得sheet1表
                String exceptionStr = "";
                String today = new java.text.SimpleDateFormat("yyyyMMdd", java.util.Locale.ENGLISH).format((new java.util.Date()));
                String seq = BizUtils.createNextSequenceString(today, "0000");
                for(int i=1;i<=sheet.getLastRowNum();i++){ //对行进行循环
                        Row row=sheet.getRow(i);                        //行
                        row.createCell(19).setCellValue(seq);
                }
                if(exceptionStr.length()>0){        //抛出提示错误
                        throw new Exception(exceptionStr);
                }
        }

        public static void openBillProcessBeforeUploadImportExcel() throws Exception{
                System.out.println("接收参数:"+ModelUtils.getRequestContext().getActionContext().getParameter("p1"));
                Workbook workBook = (Workbook)ModelUtils.getRequestContext().getActionContext().getParameter("excel");
//                String param1 = ModelUtils.getRequestContext().getActionContext().getParameter("param1").toString();
                System.out.println();
        }


报错为红色这一行
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-3-26 15:23:16 | 显示全部楼层
Workbook workBook = (Workbook)ModelUtils.getRequestContext().getActionContext().getParameter("excel");不要写到
openBillProcessBeforeUploadImportExcel中啊
是在openBillProcessBeforeImportExcelBeforeAction中的

openBillProcessBeforeUploadImportExcel比openBillProcessBeforeImportExcelBeforeAction先执行,在java中定义一个全局变量,在openBillProcessBeforeUploadImportExcel中获取参数的值赋值给全局变量,然后在openBillProcessBeforeImportExcelBeforeAction中获取excel文件通过全局变量操作传过来的参数值
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

163

主题

561

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
QQ
 楼主| 发表于 2018-3-26 16:26:45 | 显示全部楼层
结贴
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-8 00:58 , Processed in 0.058762 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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