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

QQ登录

只需一步,快速开始

查看: 15123|回复: 20

[结贴] Excel导入时怎样根据条件修改某一单元格的值

[复制链接]

32

主题

133

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
QQ
发表于 2017-12-5 18:51:27 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号: 3.6
数据库: Oracle 服务器操作系统: Windows 应用服务器:
客户端操作系统: Windows 7 浏览器: Chrome
现在我做的Excel导入增加一个外键字段,我想导入时生成一个guid,将本次导入的Excel每条数据的外键都设成这个guid,请问这个应该怎么设置

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-12-6 10:14:35 | 显示全部楼层
可以在导入事件中获取excel文件修改列的值
http://bbs.wex5.com/forum.php?mod=viewthread&tid=37297
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

32

主题

133

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
QQ
 楼主| 发表于 2017-12-6 10:53:47 | 显示全部楼层
因为现在据库出问题了,我只是写好代码但还没有测,这样写有没有问题 uuid = UUID.randomUUID().toString().replaceAll("-", "");
                Workbook workBook = (Workbook)ModelUtils.getRequestContext().getActionContext().getParameter("excel");
                Sheet sheet=workBook.getSheetAt(0); //获得sheet1表
                for(int i=0;i<=sheet.getLastRowNum();i++){ //对行进行循环
                                 Row row=sheet.getRow(i);
                                  Cell cell=row.getCell(10);
                                  if(cell.getNumericCellValue()==""||cell.getNumericCellValue()==null){
                                        cell.setCellValue(uuid);
                                  }   
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

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



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

使用道具 举报

32

主题

133

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
QQ
 楼主| 发表于 2017-12-6 17:03:14 | 显示全部楼层
我已经在构建路径中加入了SA的jar包,为什么还是报
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:6: 错误: 程序包org.apache.poi.ss.usermodel不存在
import org.apache.poi.ss.usermodel.Cell;
                                  ^
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:7: 错误: 程序包org.apache.poi.ss.usermodel不存在
import org.apache.poi.ss.usermodel.Row;
                                  ^
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:8: 错误: 程序包org.apache.poi.ss.usermodel不存在
import org.apache.poi.ss.usermodel.Sheet;
                                  ^
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:9: 错误: 程序包org.apache.poi.ss.usermodel不存在
import org.apache.poi.ss.usermodel.Workbook;
                                  ^
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:10: 错误: 程序包com.justep.excel不存在
import com.justep.excel.ImportConfig;
                       ^
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:45: 错误: 无法从静态上下文中引用非静态 变量 uuid
                 uuid = UUID.randomUUID().toString().replaceAll("-", "");
                 ^
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:46: 错误: 无法从静态上下文中引用非静态 变量 uuid
                 System.out.println(uuid);
                                    ^
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:47: 错误: 找不到符号
                Workbook workBook = (Workbook)ModelUtils.getRequestContext().getActionContext().getParameter("excel");
                ^
  符号:   类 Workbook
  位置: 类 ORDER_INFO_TEMP
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:47: 错误: 找不到符号
                Workbook workBook = (Workbook)ModelUtils.getRequestContext().getActionContext().getParameter("excel");
                                     ^
  符号:   类 Workbook
  位置: 类 ORDER_INFO_TEMP
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:48: 错误: 找不到符号
                Sheet sheet=workBook.getSheetAt(0); //获得sheet1表
                ^
  符号:   类 Sheet
  位置: 类 ORDER_INFO_TEMP
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:51: 错误: 找不到符号
                                  Cell cell=row.getCell(10);
                                  ^
  符号:   类 Cell
  位置: 类 ORDER_INFO_TEMP
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:51: 错误: 找不到符号
                                  Cell cell=row.getCell(10);
                                               ^
  符号:   方法 getCell(int)
  位置: 类型为Row的变量 row
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:53: 错误: 无法从静态上下文中引用非静态 变量 uuid
                                        cell.setCellValue(uuid);
                                                          ^
E:\hylogister\model\BIZ\hylogister\ORDER_INFO_TEMP\logic\code\dsrc\ORDER_INFO_TEMP.java:64: 错误: 无法从静态上下文中引用非静态 变量 uuid
                        proc.setString(1, uuid);
                                          ^
14 个错误
4 个警告


HQ%]7ET]Y@X6Y6}K1L@]LKR.png
回复 支持 反对

使用道具 举报

32

主题

133

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
QQ
 楼主| 发表于 2017-12-6 17:27:18 | 显示全部楼层
而且说找不到符号的我按alt+/都有提示啊
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-12-6 17:42:42 | 显示全部楼层
java文件所在的dsrc右键设置为源码路径,导入相关的类
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

32

主题

133

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
QQ
 楼主| 发表于 2017-12-6 17:58:15 | 显示全部楼层
是这样做吗,切换到Java模式选中这个类然后构建路径,然后选中Excel/login/code文件夹就行了,是吗?
12.png
回复 支持 反对

使用道具 举报

32

主题

133

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
QQ
 楼主| 发表于 2017-12-6 18:35:11 | 显示全部楼层
它现在错误信息又变了
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: java.lang.NullPointerException
        at ORDER_INFO_TEMPProcess.oRDER_INFO_TEMPProcessAfterImportExcelBeforeAction(ORDER_INFO_TEMPProcess.java:15)
        ... 37 more
回复 支持 反对

使用道具 举报

32

主题

133

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
QQ
 楼主| 发表于 2017-12-6 18:36:49 | 显示全部楼层
我的ORDER_INFO_TEMPProcess.java:15行是这样写的
C_F$_)E~A(0L$EOQ~23)]UC.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 03:53 , Processed in 0.070136 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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