利用类的反射导入excel示例
直接上代码
1、页面展示
- <div class="panel-heading font-bold text-center">
- <i class="fa fa-edit"></i><strong>用户导入功能</strong>
- </div>
- <div class="panel-body">
- <form action="#" class="form-horizontal"
- method="post">
- <div class="form-group" style="display:none;">
- <label class="col-sm-2 control-label">
- 会议Id
- <span class="text-danger">*</span>
- </label>
- <div class="col-sm-8">
- <input type="text" class="form-control w-300 iblock" id="conId" name="conId" value="<%=conId %>" datatype="*" nullmsg="请填写会议Id">
- </div>
- </div>
- <div class="form-group" style="display:none;">
- <label class="col-sm-2 control-label">
- 会议简称
- <span class="text-danger">*</span>
- </label>
- <div class="col-sm-8">
- <input type="text" class="form-control w-300 iblock" id="fromWhere" name="fromWhere" value="<%=fromWhere %>" datatype="*" nullmsg="请填写会议简称">
- </div>
- </div>
- <div class="form-group">
- <label class="col-sm-2 control-label">
- 注册类型
- <span class="text-danger">*</span>
- </label>
- <div class="col-sm-8">
- <select id="seanceId" class="form-control">
- <option value="-1">请选择注册类型</option>
- </select>
- </div>
- </div>
- <div class="form-group">
- <label class="col-sm-2 control-label">
- 团队名称(用于导入团队)
- <span class="text-danger"></span>
- </label>
- <div class="col-sm-8">
- <input type="text" class="form-control w-300 iblock" id="teamName" name="teamName" datatype="*" nullmsg="请填写会议简称">
- </div>
- </div>
- <div class="form-group">
- <label class="col-sm-2 control-label">
- 上传Excel文件
- <span class="text-danger">*</span>
- </label>
- <div class="col-sm-8">
- <input type="file" class="form-control w-300 iblock" id="importFile" style="display:none"/>
- <button class="btn btn-lg btn-primary" id="selectFile" type="button">选择文件</button>
- </div>
- </div>
- <div class="form-group">
- <label class="col-sm-2 control-label">
- <span class="text-danger"></span>
- </label>
- <div id="daoru" class="col-sm-8 text-center">
- <button class="btn btn-lg btn-primary" type="button" id="importBtn">导入</button>
- </div>
- </div>
- </form>
- </div>
2、js数据提交
- $("#importBtn").click(function(){
- if($("#conId").val() == ""){
- alert("请填写会议Id");
- return;
- }
- if($("#fromWhere").val() == ""){
- alert("请填写会议的简称");
- return;
- }
- if($("#importFile").val() == ''){
- alert("请选择上传的文件")
- return;
- }
- if($("#seanceId").val() == -){
- alert("请选择注册类型");
- return;
- }else{$("#daoru").html("导入中...");}
- setTimeout(function(){
- var formData = new FormData();
- var teamName = encodeURIComponent($("#teamName").val());
- var conId = $("#conId").val();
- formData.append("importFile", $("#importFile")[].files[]);
- formData.append("fromWhere", $("#fromWhere").val());
- formData.append("teamName",teamName);
- formData.append("conId",conId);
- formData.append("seanceId",$("#seanceId").val());
- $.ajax({
- url: "/import.do?importUser",
- type: 'POST',
- data: formData,
- dataType:"json",
- // 告诉jQuery不要去处理发送的数据
- processData: false,
- // 告诉jQuery不要去设置Content-Type请求头
- contentType: false,
- cache:false,
- ifModified:true,
- async:false,
- beforeSend: function () {
- console.log("正在进行,请稍候");
- },
- success: function (json) {
- if (json.state == ) {
- alert("导入完成");
- window.location.reload();
- //$("#selectFile").html("选择文件");
- } else {
- alert(json.msg);
- return;
- }
- },
- error: function (json) {
- console.log("error");
- }
- });
- },)
- })
3、后台数据处理
- @RequestMapping(params = "importUser",method = RequestMethod.POST)
- public void importUser(Integer conId,Integer seanceId,HttpServletRequest request,HttpServletResponse response){
- try {
- MultipartHttpServletRequest mRequest = (MultipartHttpServletRequest) request;
- MultipartFile mFile = mRequest.getFile("importFile");
- String fromWhere = request.getParameter("fromWhere");
- String teamName = request.getParameter("teamName");
- teamName = URLDecoder.decode(teamName,"UTF-8");
- UserInfo teamUser = null;
- if(teamName.length() > ){//要创建团队
- System.out.println(teamName);
- teamUser = userinfoService.getTeamUser(fromWhere,teamName);
- if(teamUser == null){
- teamUser = new UserInfo();
- teamUser.setTrueName(teamName);
- teamUser.setDanwei(teamName);
- teamUser.setHospitalName(teamName);
- teamUser.setIsTeam();
- teamUser.setIsTeamLeader();
- teamUser.setFromWhere(fromWhere);
- teamUser.setConferencesId(conId);
- userinfoService.saveOrUpdate(teamUser);
- teamUser.setTeamId(teamUser.getUserInfoId());
- userinfoService.saveOrUpdate(teamUser);
- }
- }
- InputStream is = mFile.getInputStream();
- if(is!=null)
- {
- Workbook rwb = WorkbookFactory.create(is);
- int rowCount = ;
- Sheet st = rwb.getSheetAt();
- Iterator<?> it= st.rowIterator();
- String [] tableHead = null;
- for(; it !=null && it.hasNext();){
- Row row = (Row)it.next();
- if(row==null)
- {
- it = null;
- continue;
- }
- if(row.getCell()==null || row.getCell().getStringCellValue() == null ||row.getCell().getStringCellValue().length() == )
- {
- it = null;
- continue;
- }
- if(rowCount == ){
- int columnNum = row.getPhysicalNumberOfCells();
- tableHead = new String[columnNum];
- for(int i = ; i< tableHead.length;i++){
- Cell cell = row.getCell(i);
- String headStr = cell.getStringCellValue();
- tableHead[i] = headStr;
- }
- }else{
- UserInfo userInfo = new UserInfo();
- userInfo.setFromWhere(fromWhere);
- for(int j = ;j < tableHead.length;j++){
- Cell cell = row.getCell(j);
- String value = "";
- if(cell == null || cell.equals("") || cell.getCellType() ==HSSFCell.CELL_TYPE_BLANK){
- }else{
- value = getCellValue(cell);
- }
- if (value!="") {
- String tablePropertyName = tableHead[j].substring(,tableHead[j].length());
- tablePropertyName = tablePropertyName.substring(, ).toLowerCase()+tablePropertyName.substring(,tablePropertyName.length());
- String type = userInfo.getClass().getDeclaredField(tablePropertyName).getGenericType().toString();
- if(type.equals("class java.lang.String")){
- Method method = userInfo.getClass().getMethod(tableHead[j],new Class[] { String.class });
- method.invoke(userInfo,new Object[]{new String(value)});
- }
- if(type.equals("class java.lang.Integer")){
- value = value==""?"":value;
- Method method = userInfo.getClass().getMethod(tableHead[j],new Class[] { Integer.class });
- method.invoke(userInfo,new Object[]{new Integer(value)});
- }
- }
- }
- /*if(teamName.length() == 0){//个人导入
- UserInfo saveUserInfo = userinfoService.getUserInfoByNameAndMobile(fromWhere,userInfo.getTrueName(),userInfo.getMobilePhone());
- if(saveUserInfo == null){
- saveUserInfo = userinfoService.getUserINfoByNameAndEmail(fromWhere,userInfo.getTrueName(),userInfo.getEmail());
- if(saveUserInfo == null){
- Hospital hospital = mainService.getProvinceByName(userInfo.getProvince());
- if(hospital != null){
- userInfo.setProvince(String.valueOf(hospital.getProvinceId()));
- userInfo.setCity(String.valueOf(hospital.getCityId()));
- }
- userInfo.setConferencesId(conId);
- userinfoService.saveOrUpdate(userInfo);
- }
- }
- }else if(teamName.length() > 0){//团队导入
- UserInfo saveUserInfo = userinfoService.getUserInfoByName(fromWhere,userInfo.getTrueName());
- Hospital province = mainService.getProvinceByName(userInfo.getProvinceName());
- if(province != null){
- userInfo.setProvince(String.valueOf(province.getHospitalId()));
- }
- Hospital city = mainService.getCityByName(userInfo.getCityName());
- if(city != null){
- userInfo.setCity(String.valueOf(city.getHospitalId()));
- }
- if(saveUserInfo != null && saveUserInfo.getIsVip() != null && saveUserInfo.getIsVip() == 1){
- userInfo.setIsVip(-1);
- }
- userInfo.setTeamId(teamUser.getUserInfoId());
- userInfo.setIsTeam(1);
- userInfo.setIsTeamMember(1);
- userInfo.setConferencesId(conId);
- userinfoService.saveOrUpdate(userInfo);
- }*/
- if(userInfo != null){
- if(userInfo.getProvinceName() != null && userInfo.getProvinceName().length() >){
- String provinceName = userInfo.getProvinceName().replace("自治区", "").replace("省", "").replace("市", "");
- Hospital province = mainService.getProvinceByLikeName(provinceName);
- if(province != null){
- userInfo.setProvince(String.valueOf(province.getHospitalId()));
- }
- }
- if(userInfo.getCityName() != null && userInfo.getCityName().length() >){
- String cityName = userInfo.getCityName().replace("市", "");
- Hospital city = mainService.getCityByLikeName(cityName);
- if(city != null){
- userInfo.setCity(String.valueOf(city.getHospitalId()));
- }
- }
- }
- if(teamName.length() > ){//团队导入
- UserInfo saveUserInfo = userinfoService.getUserInfoByName(fromWhere,userInfo.getTrueName());
- if(saveUserInfo != null && saveUserInfo.getIsVip() != null && saveUserInfo.getIsVip() == ){
- userInfo.setIsVip(-);
- }
- userInfo.setTeamId(teamUser.getUserInfoId());
- userInfo.setIsTeam();
- userInfo.setIsTeamMember();
- }
- userInfo.setConferencesId(conId);
- userinfoService.saveOrUpdate(userInfo);
- /*注册类型*/
- if(seanceId != null && seanceId + !=){
- ChcRegUser chcRegUser = webService.getChcRegUser(userInfo.getUserInfoId());
- if(chcRegUser == null){
- chcRegUser = new ChcRegUser();
- chcRegUser.setCreateTime(new Date());
- }
- chcRegUser.setPaymentMethod();
- chcRegUser.setConferencesId(Integer.valueOf(conId));
- Seance seance = webService.getSeanceById(seanceId);
- chcRegUser.setPay(seance.getPrice().intValue()); //应缴费
- chcRegUser.setHasPay(); //已缴费
- chcRegUser.setQianPay(seance.getPrice().intValue()); //欠费
- chcRegUser.setSeanceId(seanceId);
- chcRegUser.setSeance(seance.getSeanceContent());
- chcRegUser.setEnSeance(seance.getEnSeanceContent()==null?"":seance.getEnSeanceContent());
- chcRegUser.setUserId(userInfo.getUserInfoId());
- chcRegUser.setStateType();
- chcRegUser.setPayType();
- webService.saveObject(chcRegUser);
- userInfo.setJobNumber(chcRegUser.getChcRegUserId());
- userInfo.setPayState();
- webService.saveObject(userInfo);
- }
- }
- rowCount++;
- System.out.println(rowCount);
- }
- }
- writeJson(response, new JSONObject().accumulate("state", ).toString());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
利用类的反射导入excel示例的更多相关文章
- php导入excel
使用phpexcelreader这个类文件来导入excel具体步骤: 先下载文件,然后引入phpexcelreader:下载地址:http://www.waaqi.com/wp-content/upl ...
- 在java poi导入Excel通用工具类示例详解
转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36 作者:daochuwenziyao 我要评论 这篇文章主要给大家介绍了关于在j ...
- php利用PHPExcel类导出导入Excel用法
PHPExcel类是php一个excel表格处理插件了,下面我来给大家介绍利用PHPExcel类来导入与导出excel表格的应用方法,有需要了解的朋友不防参考参考(PHPExcel自己百度下载这里不介 ...
- 基于 Aspose.Cells与XML导入excel 数据----操作类封装
前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...
- Java基于注解和反射导入导出Excel
代码地址如下:http://www.demodashi.com/demo/11995.html 1. 构建项目 使用Spring Boot快速构建一个Web工程,并导入与操作Excel相关的POI包以 ...
- 利用Aspose.Cell控件导入Excel非强类型的数据
导入Excel的操作是非常常见的操作,可以使用Aspose.Cell.APOI.MyXls.OLEDB.Excel VBA等操作Excel文件,从而实现数据的导入,在导入数据的时候,如果是强类型的数据 ...
- 利用kettle组件导入excel文件到数据库
利用kettle组件导入excel文件到数据库 1. 实现目标 把excel文件内容导入到目标表中:然后用java调用kettle的转换.excel文件的内容仅仅有两列,示比例如以下: wat ...
- Spring Boot下的一种导入Excel文件的代码框架
1.前言 Spring Boot下如果只是导入一个简单的Excel文件,是容易的.网上类似的文章不少,有的针对具体的实体类,代码可重用性不高:有的利用反射机制或自定义注解,开发了Excel导入工具 ...
- Java注解(Annotation)用法:利用注解和反射机制指定列名导出数据库数据
闲来没事,想了一个应用的例子:用java如何把数据库的数据根据我们指定的某几列,如第2列,第4列,第6列导出来到Excel里? 写代码也是为了应用的,写好的代码更重要的是在于思考.我自己思考了这个示例 ...
随机推荐
- 用svm来做回归预测(python)
————————————————————***提醒自己结束了就发博客***————————————————————
- DevExpress VCL Controls 2019发展路线图(No.3)
[DevExpress VCL Controls下载] ExpressFlowChart 允许最终用户修改形状(v19.1) 允许开发人员以XML格式定义自定义形状(v19.1) 使用30多个新形状扩 ...
- Hibernate原理及应用
Hibernate工作原理及为什么要用? 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.x ...
- iptables-save命令
[root@localhost ~]# iptables-save -t filter > iptables.bak [root@localhost ~]# cat iptables.bak # ...
- 黑客常用dos-cmd命令
黑客常用命令大全net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai ...
- oracle的PDB启动
/*以管理员身份登录*/sqlplus / as sysdba /*查看CDB的状态*/select status from v$instance; /*开启startup,默认是open*/star ...
- 帝国cms中下拉框select的绑定
在修改数据模型中,将下拉框的表示代码换成下: 将id换成自己的id地址.数据库查询中的classid换成自己创建栏目的id. <select name="diqu" id=& ...
- 利用js 生成不同li标签的点击事件
<ul> <li>click me</li> <li>你好啊2</li> <li>你好啊3</li> <li& ...
- Python 递归锁
import time from threading import Thread, Lock, RLock def f1(locA, locB): # print('xxxx') # time.sle ...
- canvas 添加线和删除线 及获取相关位置信息源码
其他相关链接: https://github.com/lusase/lineDrawer.git https://www.jb51.net/css/359062.html https://www.jb ...