导入_导入excel - CSDN
精华内容
参与话题
  • 前端数据: <a class="button_type1 addTabPage" ng-click="importDatas()"><i class="iconfont">...导入</a> <!-- 配置信息表模态框(Modal) --> <div class="modal fade"...

    前端数据:

    <a class="button_type1 addTabPage" ng-click="importDatas()"><i
    				class="iconfont">&#xe628;</i>导入</a>
    			<!-- 配置信息表模态框(Modal) -->
    			<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
    				aria-labelledby="myModalLabel" aria-hidden="true">
    				<div class="modal-dialog">
    					<div class="modal-content">
    						<div class="modal-header">
    							<button type="button" class="close" data-dismiss="modal"
    								aria-hidden="true">&times;</button>
    							<h4 class="modal-title" id="myModalLabel">导入信息</h4>
    						</div>
    						<div class="modal-body">
    							<div ng-if="importFineshed == '0'">
    								<div style="margin-left: 50px;">
    									<input type="hidden" ng-model="purchProjectId"> <font
    										style="font-weight: bold; float: left">请选择文件 :</font><input
    										type="file" class="file" id="inputFile" style="float: left">
    										<!-- 这里是你的模板坐在的位置,不要使用中文字符 -->
    									<a
    										href="downloadFile/UserSummaryTable5GTechnologyAndApplicationCompetition.xlsx"
    										download="导入模板.xls">下载导入模板</a>
    								</div>
    								<br> <br>
    								<div style="width: 200px; margin-left: 200px;">
    									<button class="btn btn-primary" ng-click="uploadFile()">确认</button>
    									<button class="btn btn-warning" ng-click="cancel()">取消</button>
    								</div>
    								<br> <br> <br>
    								<div>
    									<h5>
    										<font color="red">1.excel中数据行数不能超过1000行,大小不超过10M! </font>
    									</h5>
    									<h5>
    										<font color="red">2.请参照模板说明进行导入,特别是必输项以及某些有选择范围的数据 </font>
    									</h5>
    									<h5>
    										<font color="red">3.导入过程可能需要两三分钟,请在本页耐心等待!</font>
    									</h5>
    									<h5>
    										<font color="red">4.数据如果导入成功,表明excel上的数据全部导入了系统,如果导入失败,请全部重新导入!</font>
    									</h5>
    								</div>
    							</div>
    						</div>
    					</div>
    				</div>
    			</div>
    		</div>
    		<!-- 配置信息表模态框(Modal) -->
    		<div class="modal fade" id="myModal1" tabindex="-1" role="dialog"
    			aria-labelledby="myModalLabe2" aria-hidden="true">
    			<div class="modal-dialog">
    				<div class="maxbox edit_type1">
    					<div class="baibox" id="myModal1">
    						<div class="tips">
    							<span class="active">导入情况信息</span>
    						</div>
    						<div class="lists">
    							<div class="list_box">
    								<div class="hang">
    									<div class="lie"
    										style='width: 100%; height: 400px; overflow-y: scroll; zoom: 1;'>
    										<label>错误信息:</label> <font color="red"> {{importMsg}}</font>
    									</div>
    								</div>
    							</div>
    							<div class="form_buts">
    
    								<span class="style" ng-click="close()">关闭</span>
    							</div>
    						</div>
    					</div>
    				</div>
    			</div>
    		</div>
    
    

    2.前端controller.js

    toggle指的是,点击的时候触发和当前模态窗口状态相反的操作。比如现在模态窗口是关闭的,那么点击按钮,就打开窗口。如果当前窗口是打开的,那么点击按钮就会关闭。
    show,指的是点击的时候触发打开窗口。
    hide,指的是点击的时候触发关闭模态窗。

    //点击关闭按钮
    	$scope.close  = function(){
    		$("#myModal1").modal("hide");
    		$scope.searchData($scope.searchWhere);
    	}
    	// 点击导入按钮
    	$scope.importDatas = function() {
    		$("#myModal").modal("show");
    		$scope.importFineshed = '0';
    	}
    	// 点击取消按钮
    	$scope.cancel = function() {
    		$("#myModal").modal("hide");
    	}
    	// 点击确定按钮
    	$scope.uploadFile = function() {
    		var fd = new FormData();
    		var file = document.querySelector('input[type=file]').files[0];
    		fd.append('file', file);
    		$http(
    				{
    					method : 'POST',
    					url : Constants.API.INTERFACE_URL
    							+ "a/xf4g/xfUser/importXfUserData",
    					data : fd,
    					headers : {
    						'Content-Type' : undefined
    					},
    					transformRequest : angular.identity
    				}).success(function(response) {
    					$scope.importMsg = response;
    					$("#myModal").modal("hide");
    					$("#myModal1").modal("show");
    				});
    	}
    

    3.后端的controller层的代码主要是用于把从excel中获取的数据进行判定,
    并且数据中的teamName,schoolName需要进行再次查询,获取到数据中的teamId
    和officeId,获取到数据之后,需要根据loginName来查询是否重复,重复的执行update,
    不重复的执行save(获取一个UUID赋值给XfUser对象)

    @CrossOrigin(origins = "*", maxAge = 3600)
    	@RequestMapping(value = "importXfUserData", method = RequestMethod.POST)
    	@ResponseBody
    	public String importXfUserData(@RequestParam("file") MultipartFile file) {
    		String failureMsg = "";
    		int successNum = 0;
    		int failureNum = 0;
    		try {
    			ImportExcel ei = new ImportExcel(file, 1, 0);
    			List<XfUser> list = ei.getDataList(XfUser.class);
    			if (list != null && list.size() > 0) {
    				for (int i = 0; i < list.size(); i++) {
    					boolean bl = true;
    					if (list.get(i).getName() == null || "".equals(list.get(i).getName())) {
    						failureMsg = failureMsg + "第" + (i + 1) + "条数据姓名为空,未能导入!";
    						bl = false;
    					}
    					if (list.get(i).getLoginName() == null || "".equals(list.get(i).getLoginName())) {
    						failureMsg = failureMsg + "第" + (i + 1) + "条数据登录名称为空,未能导入!";
    						bl = false;
    					}
    					if (list.get(i).getPassWord() == null || "".equals(list.get(i).getPassWord())) {
    						failureMsg = failureMsg + "第" + (i + 1) + "条数据密码为空,未能导入!";
    						bl = false;
    					}
    					if (list.get(i).getTeamName() == null || "".equals(list.get(i).getTeamName())) {
    						failureMsg = failureMsg + "第" + (i + 1) + "条数据战队名称为空,未能导入!";
    						bl = false;
    					}
                            //查询teamId
    					String teamId = xfTeamService.findTeamIdByTeamName(list.get(i).getTeamName());
    					list.get(i).setTeamId(teamId);
    					if (list.get(i).getDyfield5() == null || "".equals(list.get(i).getDyfield5())) {
    						failureMsg = failureMsg + "第" + (i + 1) + "条数据用户类型为空,未能导入!";
    						bl = false;
    					}
    					if (list.get(i).getSchoolName() == null || "".equals(list.get(i).getSchoolName())) {
    						failureMsg = failureMsg + "第" + (i + 1) + "条数据学校名称为空,未能导入!";
    						bl = false;
    					}
                            //查询officeId
    					String officeId = xfSchoolService.findOfficeIdBySchoolName(list.get(i).getSchoolName());
    					list.get(i).setOfficeId(officeId);
    					if (list.get(i).getProjectType() == null || "".equals(list.get(i).getProjectType())) {
    						failureMsg = failureMsg + "第" + (i + 1) + "条数据账号类型为空,未能导入!";
    						bl = false;
    					}
    					if (bl == false) {
    						failureNum++;
    						continue;
    					}
    					XfUser xfUser = list.get(i);
    					String name = xfUser.getName();
                            //检查登录名是否重复
    					int result1 = xfUserService.checkByLoginName(name);
    					int result = 0;
    					if (result1 > 0) {
                            //登录名重复则执行更新操作
    						result = xfUserService.updateXfUser(xfUser);
    					} else {
                            //登录名不重复则执行新增操作
                            //获取一个UUID作为User的Id
    						 String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase();
    						 xfUser.setId(uuid);
    						result = xfUserService.savexfUser(xfUser);
    					}
    					
    					if (result > 0) {
    						successNum++;
    					} else {
    						failureMsg = failureMsg + "第" + (i + 1) + "条数据添加失败,未能添加!";
    					}
    				}
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		failureMsg = "成功导入" + successNum + "条数据," + "导入失败" + failureNum + "条数据。失败信息:" + failureMsg;
    		return failureMsg;
    	}
    
    展开全文
  • MySQL8.0导入数据

    千次阅读 2020-06-15 01:20:05
    MySQL使用load data local infile导入数据报错: mysql> load data local infile '/path/file' into table tablename; ERROR 1148 (42000): The used command is not allowed with this MySQL version 问题...

    为了安全起见,MySQL8.0默认不允许客户端从本地载入文件。客户端local_infile默认关闭,因此需要在安全路径下导入本地文件。
    方法一:在workbench客户端操作

    • 查看安全路径
    show variables like '%secure%';

    在这里插入图片描述

    • 找到安全路径,将数据文件放在此路径下
      在这里插入图片描述
    • 然后执行如下命令导入数据(emp表结构已创建好)
      表名不能是中文,’\‘在编程语言中是转义符,因此要改为’\\'或‘/’
    load data infile "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/employee.csv"
    into table emp 
    fields terminated by ',' 
    ignore 1 lines;

    在这里插入图片描述

    • 若安全路径为NULL,可以在命令行(cmd)中打开导入外部数据的权限后,在命令行(cmd)中导入数据,具体操作步骤参见方法二。
      在这里插入图片描述

    方法二:在命令行(cmd)中操作

    • 启动cmd
      在这里插入图片描述
    • 进入MySQL安装路径
      在这里插入图片描述
      在这里插入图片描述
    • 使用如下命令登录:
    mysql --local-infile=1 -u root -p

    在这里插入图片描述

    • 登陆成功后,选择进入数据库并查看是否有导入外部数据的权限:
    mysql> use test;
    mysql> show global variables like 'local_infile';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | local_infile  | OFF   |
    +---------------+-------+
    • 打开导入外部数据的权限
    mysql> set global local_infile = 'ON';
    mysql> show global variables like 'local_infile';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | local_infile  | ON    |
    +---------------+-------+
    • 然后再进行数据导入(emp表结构已创建好)注意关键字local
      路径中不能有中文,’\‘在编程语言中是转义符,因此要改为’\\'或‘/’
    mysql> load data local infile "C:/Users/EDZ/Desktop/employee.csv"
    	into table emp 
    	fields terminated by ',' 
    	ignore 1 lines;
    mysql> select * from emp;
    +-------+--------+-----------+------+------------+------+------+--------+
    | empid | ename  | job       | mgr  | hiredate   | sal  | comm | deptno |
    +-------+--------+-----------+------+------------+------+------+--------+
    |  7369 | smith  | clerk     | 7902 | 1980-12-17 |  800 | NULL |     20 |
    |  7499 | allen  | salesman  | 7698 | 1981-02-20 | 1600 |  300 |     30 |
    |  7521 | ward   | salesman  | 7698 | 1981-02-22 | 1250 |  500 |     30 |
    |  7566 | jones  | manager   | 7839 | 1981-04-02 | 2975 | NULL |     20 |
    |  7654 | martin | salesman  | 7698 | 1981-09-28 | 1250 | 1400 |     30 |
    |  7698 | blake  | manager   | 7839 | 1981-05-01 | 2850 | NULL |     30 |
    |  7782 | clark  | manager   | 7839 | 1981-06-09 | 2450 | NULL |     10 |
    |  7788 | scott  | analyst   | 7566 | 1987-04-19 | 3000 | NULL |     20 |
    |  7839 | king   | persident | NULL | 1981-11-17 | 5000 | NULL |     10 |
    |  7844 | turner | salesman  | 7698 | 1981-09-08 | 1500 |    0 |     30 |
    |  7876 | adams  | clerk     | 7788 | 1987-05-23 | 1100 | NULL |     20 |
    |  7900 | james  | clerk     | 7698 | 1981-12-03 |  950 | NULL |     30 |
    |  7902 | ford   | analyst   | 7566 | 1981-12-03 | 3000 | NULL |     20 |
    |  7934 | miller | clerk     | 7782 | 1982-01-23 | 1300 | NULL |     10 |
    +-------+--------+-----------+------+------------+------+------+--------+
    • 最后查看数据导入成功即可。
    展开全文
  • Java 导入导出功能总结

    万次阅读 多人点赞 2019-03-23 12:12:40
    项目中经常需要使用导入导出功能来加快数据的操作,尤其是一些项目的后台管理系统,特此奉上我们项目中使用到导入导出代码,均可以实际使用。准备工作:pom中加入以下依赖: <dependency> <groupId>...

    项目中经常需要使用导入导出功能来加快数据的操作,尤其是一些项目的后台管理系统,特此奉上我们项目中使用到导入导出代码,均可以实际使用。准备工作:pom中加入以下依赖:

     <dependency>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi</artifactId>
         <version>3.15-beta2</version>
     </dependency>
     <dependency>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi-ooxml</artifactId>
         <version>3.15-beta2</version>
     </dependency>

    导入功能


    基本思路:读取到文件--->创建表格并把文件流内容读取到表格中--->解析表格--->持久化

    package com.simons.cn.springbootdemo.util;
    
    import com.simons.cn.springbootdemo.bean.Movie;
    import com.simons.cn.springbootdemo.service.Weixin.IndexService;
    import org.apache.poi.ss.usermodel.*;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.util.FileCopyUtils;
    import org.springframework.web.multipart.MultipartFile;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    @Service
    public class FilePortUtil {
        private static final Logger log = LoggerFactory.getLogger(FilePortUtil.class);
    
        @Autowired
        private IndexService indexService;
    
        /**
         * 导入功能
         *
         * @param multipartFile
         * @return
         */
        public int fileImport(MultipartFile multipartFile) {
            File file = null;
            Workbook workbook = null;
            int totalNum = 0;
            /*得到的path是 /D:/springbootdemo/target/springbootdemo/WEB-INF/classes/  */
            String path = FilePortUtil.class.getClassLoader().getResource("/").getPath();
            /*拼接后的path就是 /D:/springbootdemo/target/springbootdemo/WEB-INF/电影正式资源.xlsx /*/
            path = path.substring(0, path.indexOf("WEB-INF") + "WEB-INF".length()) + "/" + multipartFile.getOriginalFilename();
            file = new File(path);
            try {
                /*把文件流copy读取到文件中*/
                FileCopyUtils.copy(multipartFile.getBytes(), file);
                workbook = WorkbookFactory.create(new FileInputStream(file));
                List<Movie> list = new ArrayList<>();
                /*遍历sheet页*/
                for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
                    Sheet sheet = workbook.getSheetAt(i);
                    if (sheet == null) {
                        continue;
                    }
                    /*统计导入的总条数,要是你的excell包含了表头,就不用加1了*/
                    if (sheet.getLastRowNum() > 0) {
                        totalNum += sheet.getLastRowNum() + 1;
                    }
                    /*遍历行,这里j的初始值取1是因为我的表格里第一行是表头*/
                    for (int j = 1; j < sheet.getPhysicalNumberOfRows(); j++) {
                        Row row = sheet.getRow(j);
                        /*解析列,下标从0开始*/
                        Cell cell2 = row.getCell(2);
                        Cell cell3 = row.getCell(3);
                        if (cell2 == null || cell3 == null) {
                            continue;
                        }
                        String name = this.getCellValue(cell2);
                        String original = this.getCellValue(cell3);
    
                        /*我这里省略了很多数据清洗、校验的代码*/
                        
                        Movie movie = new Movie();
                        movie.setName(name);
                        movie.setOriginal(original);
                        list.add(movie);
                    }
                    /*持久化:批量新增*/
                    indexService.insertBatch(list);
                }
                /*解析完删除此路径下的文件*/
                file.delete();
                return totalNum;
            } catch (Exception e) {
                e.printStackTrace();
                log.error("导入功能公用类异常exception={}", e);
            }
            return totalNum;
        }
    
        public String getCellValue(Cell cell) {
            if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
                return String.valueOf(cell.getBooleanCellValue());
            } else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                Double d = cell.getNumericCellValue();
                return String.valueOf(d.intValue());
            }
            return String.valueOf(cell.getStringCellValue());
        }
        
    }

    一般来说,每个导入功能处理的逻辑不太一样,里面的校验、数据对象也不太一样,所以我这里就没有封装成公用类而仅仅写成service,里面具体的逻辑交由程序员填充。


    导出功能

    导出功能是最常用的,下面的代码中用到了反射的思想,比如,你查询出来的List<T>结果集,只想导出指定的那些字段数据,就非常方便了,代码如下:


    基本思路:创建表格对象--->将数据set进表格--->将表格流写入response返回

    package com.simons.cn.springbootdemo.util;
    
    import org.apache.commons.collections.CollectionUtils;
    import org.apache.commons.lang.time.DateFormatUtils;
    import org.apache.poi.hssf.usermodel.*;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.stereotype.Service;
    
    import javax.servlet.http.HttpServletResponse;
    import java.beans.PropertyDescriptor;
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    import java.util.Date;
    import java.util.Iterator;
    import java.util.List;
    
    public class FilePortUtil {
        private static final Logger log = LoggerFactory.getLogger(FilePortUtil.class);
    
        /**
         * 导出功能
         * 注意:泛型T类字段名和containBean集合里字段名字的一致性
         *
         * @param response
         * @param title       表名
         * @param headers     表头
         * @param list        数据集
         * @param containBean 数据集类型字段
         * @param <T>
         * @throws Exception
         */
        public static <T> void exportExcel(HttpServletResponse response, String title, String[] headers, List<T> list, List<String> containBean) throws Exception {
            HSSFWorkbook workbook = null;
            try {
                workbook = new HSSFWorkbook();
                HSSFSheet sheet = workbook.createSheet(title);
                HSSFRow row = sheet.createRow(0);
                /*创建第一行表头*/
                for (short i = 0; i < headers.length; i++) {
                    HSSFCell cell = row.createCell(i);
                    HSSFRichTextString text = new HSSFRichTextString(headers[i]);
                    cell.setCellValue(text);
                }
                Iterator<T> it = list.iterator();
                int index = 0;
                while (it.hasNext()) {
                    index++;
                    row = sheet.createRow(index);
                    T t = (T) it.next();
                    /*反射得到字段*/
                    Field[] fields = t.getClass().getDeclaredFields();
                    /*如果需要匹配*/
                    if (CollectionUtils.isNotEmpty(containBean)) {
                        for (int j = 0; j < containBean.size(); j++) {
                            for (int i = 0; i < fields.length; i++) {
                                Field field = fields[i];
                                if (!field.getName().equals(containBean.get(j)))
                                    continue;
                                /*给每一列set值*/
                                setCellValue(t, field, row, j);
                            }
                        }
                    } else {
                        for (int i = 0; i < fields.length; i++) {
                            Field field = fields[i];
                            setCellValue(t, field, row, i);
                        }
                    }
                }
                /*application/vnd.ms-excel告诉浏览器要下载的是个excel*/
                response.setContentType("application/vnd.ms-excel;charset=UTF-8");
                /*请求头设置,Content-Disposition为下载标识,attachment标识以附件方式下载*/
                response.addHeader("Content-Disposition", "attachment;filename=" + new String((title).getBytes(), "ISO8859-1") + ".xls");
                workbook.write(response.getOutputStream());
            } finally {
                if (workbook != null) {
                    workbook.close();
                }
            }
        }
    
        /**
         * 设置每一行中的列
         *
         * @param t
         * @param field
         * @param row
         * @param index
         * @param <T>
         */
        private static <T> void setCellValue(T t, Field field, HSSFRow row, int index) {
            HSSFCell cell = row.createCell(index);
            Object value = invoke(t, field);
            String textValue = null;
            if (value != null) {
                if (value instanceof Date) {
                    Date date = (Date) value;
                    textValue = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");
                } else {
                    textValue = value.toString();
                }
            }
            if (textValue != null) {
                cell.setCellValue(textValue);
            }
        }
    
        /**
         * 反射映射数据集字段
         *
         * @param t
         * @param field
         * @param <T>
         * @return
         */
        private static <T> Object invoke(T t, Field field) {
            try {
                String fieldName = field.getName();
                PropertyDescriptor pd = new PropertyDescriptor(fieldName, t.getClass());
                Method method = pd.getReadMethod();
                return method.invoke(t);
            } catch (Exception e) {
                return null;
            }
        }
    }

        @ResponseBody
        @RequestMapping(value = "/fileport", method = RequestMethod.GET)
        public void filePort(HttpServletResponse response) {
            //导出的表名
            String title = "测试导出活动参与记录";
            //表中第一行表头字段
            String[] headers = {"主键id", "用户名", "活动id", "奖品id", "中奖时间"};
            //实际数据结果集
            List<UserReward> listObject = userRewardDao.queryUserActivityInfo("2018shuangdan_act", "2018shuangdan_evt", "sdthanks");
            //具体需要写入excel需要哪些字段,这些字段取自UserReward类,也就是上面的实际数据结果集的泛型
            List<String> listColumn = Arrays.asList("id", "username", "actId", "rewardId", "winRewardTime");
            try {
                FilePortUtil.exportExcel(response, title, headers, listObject, listColumn);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    如上代码实际项目中都能使用,如有问题欢迎留言哈~


    books 引申阅读: 使用quartz实现高级定制化定时任务(包含管理界面)

    books 推荐阅读:elastic search搜索引擎实战demo:https://github.com/simonsfan/springboot-quartz-demo,分支:feature_es

    展开全文
  • Java实现Excel导入导出

    千次下载 热门讨论 2020-07-30 09:29:45
    Excel源代码,ExcelCreate.java导出类和ExcelRead.java导入类 用到的poi底层架包有poi-3.6-20091214.jar,poi-contrib-3.6-20091214.jar poi-scratchpad-3.6-20091214.jar ExcelRead.java文件导入类 Public void ...
  • 1、安装 PhpSpreadsheet composer require phpoffice/phpspreadsheet 2、控制器代码 public function importExcel() { // 接收文件 $file = $_FILES['file']['tmp_name']; // 创建读操作 ... // 打开文件、载入
    1、安装 PhpSpreadsheet
    composer require phpoffice/phpspreadsheet
    
    2、控制器代码
    public function importExcel()
    {
        // 接收文件
        $file = $_FILES['file']['tmp_name'];
        // 创建读操作
        $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
        // 打开文件、载入excel表格
        $spreadsheet = $reader->load($file);
        // 获取活动工作薄
        $sheet = $spreadsheet->getActiveSheet();
    
       
        // 获取总行数
        $highestRow = $sheet->getHighestRow();
        
        // 存放插入成功的记录
        $successLog = [];
        // 存放插入失败的记录
        $failLog = [];
    
        // 从第二行开始读取表格数据,循环写入数据库
        for ($i = 2; $i <= $highestRow; $i++) {
            // 第 1 次循环获取第 3 列 第 2 行单元格的值,第 2 次循环获取第 3 列 第 3 行单元格的值
            $name = $sheet->getCellByColumnAndRow(3,$i)->getValue();
            $age = $sheet->getCellByColumnAndRow(4,$i)->getValue();
            $sex = $sheet->getCellByColumnAndRow(5,$i)->getValue();
            $room = $sheet->getCellByColumnAndRow(6,$i)->getValue();
            // 假设数据表有以下字段
            $data = [
                'name' => $name,
                'age' => $age,
                'sex' => $sex,
                'room_id' => $room,
                'create_time' => date('Y-m-d H:i:s', time())
            ];
            $insert = Db::name('student')->insert($data);
            if ($insert) {
                $successLog[] = '第'.$i.'条,插入成功';
            } else {
                $failLog[] = '第'.$i.'条,插入失败';
            }
        }
        // 将成功数和失败数返回给 ajax
        return json(['success' => count($successLog), 'fail' => count($failLog)]);
    }
    
    展开全文
  • IDEA导入jar包

    万次阅读 多人点赞 2019-05-24 15:33:06
    一、导入 1、java项目在没有导入该jar包之前,如图: 2、点击 File -> Project Structure(快捷键 Ctrl + Alt + Shift + s),点击Project Structure界面左侧的“Modules”如图: 3、在 ...
  • 导入

    2019-05-08 20:43:39
    导入 点击导入考生就会弹出一个Execl表格的模态框,弹出的表格只是临时的Execl表格,用完了,再次打开时数据就被清空了 上面就是弹出的模态框,这个模态框有下载导入模板和导入数据库的功能,首先我们先来完成...
  • 很喜欢玩docker,但最新遇到一个问题,公司给的新机器的dns有问题,导致pull不下来镜像。 没办法了,没有镜像什么神马都干不了,又不能花很多时间去搭建私有的镜像库,...1. 导出 export - 导入 import 格...
  • Python 3.x | 史上最详解的 导入(import)

    万次阅读 多人点赞 2020-09-22 09:19:53
    win10+Python 3.6.3 一、理解一些基本概念 1、包、模块 模块 module:一般情况下,是一个以.py为后缀的文件。其他可作为module的文件类型还有”.pyo”、”.pyc”、”.pyd”、”.so”、”.dll”,但Python初学者...
  • Veusz教程(1)——导入数据

    千次阅读 2019-04-25 12:24:49
    本博客主要介绍Veusz导入数据的功能。 主要介绍下面三种数据格式的导入: (1)常规数据(空格间隔每列数据) (2)CSV数据 (3)二维数据 常规数据 通常我们处理实验数据的时候都需要拟合,假如我们有这样一组数据...
  • Java中import 导入的用法

    万次阅读 2018-12-11 19:21:53
    import 导入的用法 可以导入类,导入包,导入项目 导入方式: 1:全局导入:导入声明在方法外 2:局部导入:导入声明在方法中 当你自定义的类和系统的类重名的时候,如果要使用系统类,就得使用局部导入 注意:尽量...
  • Oracle数据泵导入导出是日常工作中常用的基本技术之一,我们使用oracle数据库数据泵导入(impdp)导出(expdp)进行数据库备份,数据库迁移等数据库维护工作。本文主要说明oracle数据库导入导出的命令。
  • idea如何导入并运行maven项目,idea导入并运行java web项目 1、第一步启动idea点open找到自己的项目,注意如果是一个java工程下面就会有一个减号一样的 2、右下角观察等待idea导入完毕,比电脑的性能的时候到了 3...
  • eclipse如何导入项目和文件

    万次阅读 多人点赞 2017-04-17 13:22:02
    eclipse如何导入项目和文件
  • eclipse如何导入war包

    万次阅读 2015-10-09 21:46:01
    在Project Explorer窗口点鼠标右键,import -> WAR file -> 点Browse...来选择WAR文件。 注意:一定要在Project Explorer窗口下,别的窗口没有这个选项。
  • 如何用Matlab把excel表格中的数据导入Matlab中并绘制出图?   1.将excel中的数据导入Matlab中,点击“导入数据” 2.弹出“Import”窗口,在窗口工具栏左侧导入选项中选择“Matrix(矩阵)”,然后点击工具栏...
  • 最简单的在IntelliJ IDEA导入一个本地项目教程

    万次阅读 多人点赞 2018-09-14 17:43:13
    由于在学习中,我们经常会用到别人已经开发好的某些项目,要学习别人的东西,你肯定的先导入编辑器中自己试试吧,eclipse大家都会,可是换成idea开发又该怎样导入呢?整合最近我已需要学习别人的项目,希望把这个过程记录...
  • Oracle-sqlplus导入sql文件

    万次阅读 2014-08-28 10:57:27
    使用PLSQL Developer导入insert语句,数据量过大会死掉,所以直接使用命令行的方式导入insert语句 命令行进入sqlplus sqlplus 用户名/密码@127.0.0.1:1521/tiger sql>@full_path/test.sql;  例:sql>@D:/...
  • 导入eclipse的maven项目 将 eclipse 中的项目导入到 IDEA 中时如果是 maven 的话;那么请将项目复制到 IDEA 项目工程目录下,然后以 以 maven 项目择 导入请不要选择 eclipse 项目 方式导 入 入。如果不是 maven ...
  • Oracle 导入数据库dmp文件的几种方式

    万次阅读 2017-04-30 10:02:36
    使用cmd命令进行导入进入cmd直接输入命令imp 用户名/密码@监听器路径/数据库实例名称 file='d:\数据库文件.dmp' full=y ignore=y 例如:imp mislogin/...使用Oracle的bin目录imp.exe导入打开Oracle主目录 E:\ap
1 2 3 4 5 ... 20
收藏数 1,701,956
精华内容 680,782
关键字:

导入