上传excle Jxl读取Excel 导入数据

先将整理好的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) { //服务器响应失败时的处理函数
            }
        });
    })





  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值