先将整理好的excel文件上传 public JSONObject jxl() throws BiffException, IOException { // 创建一个list 用来存储读取的内容 List list = new ArrayList(); Workbook rwb = null; Cell cell = null; // 创建输入流 InputStream stream = new FileInputStream(path); //path 为刚才上传到excel路径 // 获取Excel文件对象 rwb = Workbook.getWorkbook(stream); // 获取文件的指定工作表 默认的第一个 Sheet sheet = rwb.getSheet(0); // 行数(表头的目录不需要,从1开始) for (int i = 1; i < sheet.getRows(); i++) { // 创建一个数组 用来存储每一列的值 String[] str = new String[sheet.getColumns()]; // 列数 for (int j = 0; j < sheet.getColumns(); j++) { // 获取第i行,第j列的值 cell = sheet.getCell(j, i); str[j] = cell.getContents(); } // 把刚获取的列存入list list.add(str); } JSONObject json = addExcel(list); //调用添加方法 循环往数据库添加数据 /* * for(int i=0;i<list.size();i++){ String[] str = (String[])list.get(i); * System.out.println(str[0]+"=="+str[1]); for(int * j=0;j<str.length;j++){ System.out.println(str[j]); } } */ return json; }
上传excle
String path = "";//全局 public void addP(@RequestParam(value = "uploadFileInput", required = true) MultipartFile[] fileElementId, HttpServletRequest request, HttpServletResponse response) throws Exception { // 可以在上传文件的同时接收其它参数 // 如果用的是Tomcat服务器,则文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\upload\\文件夹中 // 这里实现文件上传操作用的是commons.io.FileUtils类,它会自动判断/upload是否存在,不存在会自动创建 // String realPath = // request.getSession().getServletContext().getRealPath("/upload"); // 医生路径 String realPath = "C:\\Program Files\\developer\\picture_idoctor\\doctorExcel"; // 设置响应给前台内容的数据格式 response.setContentType("text/plain; charset=UTF-8"); // 设置响应给前台内容的PrintWriter对象 PrintWriter out = response.getWriter(); // 上传文件的原名(即上传前的文件名字) String originalFilename = null; int i = 0; // 如果只是上传一个文件,则只需要MultipartFile类型接收文件即可,而且无需显式指定@RequestParam注解 // 如果想上传多个文件,那么这里就要用MultipartFile[]类型来接收文件,并且要指定@RequestParam注解 // 上传多个文件时,前台表单中的所有<input // type="file"/>的name都应该是myfiles,否则参数里的myfiles无法获取到所有上传的文件 for (MultipartFile myfile : fileElementId) { i++; if (myfile.isEmpty()) { out.print("1`请选择文件后上传"); out.flush(); } else { String ysmc = myfile.getOriginalFilename(); // originalFilename = myfile.getOriginalFilename(); Date date = new Date(); SimpleDateFormat form = new SimpleDateFormat("yyyyMMddHHmmss"); originalFilename = form.format(date) + i + ysmc.substring(ysmc.lastIndexOf('.')); System.out.println("原始文件原名: " + ysmc); System.out.println("文件原名: " + originalFilename); System.out.println("文件名称: " + myfile.getName()); System.out.println("文件长度: " + myfile.getSize()); System.out.println("文件类型: " + myfile.getContentType()); System.out.println("========================================"); try { // 这里不必处理IO流关闭的问题,因为FileUtils.copyInputStreamToFile()方法内部会自动把用到的IO流关掉 // 此处也可以使用Spring提供的MultipartFile.transferTo(File // dest)方法实现文件的上传 FileUtils.copyInputStreamToFile(myfile.getInputStream(), new File(realPath, originalFilename)); } catch (IOException e) { System.out.println("文件[" + originalFilename + "]上传失败,堆栈轨迹如下"); e.printStackTrace(); out.print("1`文件上传失败,请重试!!"); out.flush(); } } } // path = "doctor" + "/" + originalFilename; path = realPath + "\\" + originalFilename; System.out.println(realPath + "\\" + originalFilename); // JSONObject json = jxl(path1); out.flush(); // System.out.println(json.toString()); // Utils.responseJson(response,json.toString()); }
上传excle
$("#uploadFileInput").change(function() { $.ajaxFileUpload({ //处理文件上传操作的服务器端地址(可以传参数,已亲测可用) url : "<c:url value='/addE/addP.shtml'/>", secureuri : false, type : "post", fileElementId : 'uploadFileInput', //文件选择框的id属性 dataType : 'json', //服务器返回的格式,可以是json或xml等 success : function(data, status) {//服务器响应成功时的处理函数 }, error : function(data, status, e) { //服务器响应失败时的处理函数 } }); })
上传excle Jxl读取Excel 导入数据
最新推荐文章于 2024-06-29 03:42:22 发布