Spring MVC环境下用poi技术实现Excel的导入导出

本文介绍了如何在Spring MVC环境中利用Apache POI库进行Excel的导入和导出操作。详细讲解了Excel导入时的步骤,包括上传文件、解析数据并存入数据库,以及导出时如何创建Excel文件、合并单元格和设置数据。同时,文中提到了处理单元格数据类型转换和行、列索引的注意事项。
摘要由CSDN通过智能技术生成

在web项目中,对数据的导入导出是非常实用和常见的,而excel文件则是十分常见的格式。

Excel导入——解析已存在的excel文件,并把里面的数据一一对应,插入到数据库表中,同时在页面上显示出来。(通常数据库里面会有一张字段与该excel表头一一对应的表);

Excel导出——把数据库中的表的数据导出,保存在excel文件中。

 

poi相对于jxl,是更为成熟的excel解析技术。这段时间折腾了几天,终于弄清楚了过程,特此记录。

一些主要的基本概念:poi-3.8-x.jar

HSSFWokbook——对应excel文件的工作薄

HSSFSheet——对应excel文件的表空间

HSSFRow——对应excel文件的表的行

HSSFCell——对应excel文件的表单元格

HSSFCellStyle——对应excel文件的表单元格样式

 

一、Excel导入(需上传已存在的excel文件)

已经存在的excel文件:

 

jsp页面:

<form name="" class="k-form col3" id="M2100F004">
	<label class="k-field-label">文件导入:</label>
        <input class="form-control k-field-file" data-allowblank="false" type="file" id="file" name="excelFile" />
	<button type="button" class="xxx" type="SUBMIT" οnclick="importExcel">导入</button>
</form>

 

上传的js:

$.ajaxFileUpload({
	url : "demo/demo-importExcel.json",
	//dataType : 'json',
	secureuri : false,
	fileElementId : 'file',
	success : function(res, status) { //服务器成功响应处理函数
		if (status) {
			//some code
		},
		error : function(res, status, e) {//服务器响应失败处理函数
			alert("导入数据异常:文件导入过程异常。");
		}
	});
}else{
	alert("导入数据异常:系统只支持Excel模板文件导入,请选择正确的模板文件.");
	return;
	}
}

 

对应的后台:

@RequestMapping(value = "/demo/demo-importExcel.json")
	@ResponseBody
	public String importExcel( @RequestParam(value = "excelFile") MultipartFile excelFile,HttpServletRequest request) throws BiffException, IOException, KPromptException{
		if (null == excelFile) {
			result = "模板文件为空,请选择文件";
			return result;
		}
				
//		String path = request.getSession().getServletContext().getRealPath("demo2");
		
		String path = "E:\\demo";
		//容错处理
		File dir = new File(path);
		if(!dir.exists()) {
			dir.mkdirs();
		}
	    String fileName = excelFile.getOriginalFilename();//report.xls
	    String fileName2 = excelFile.getName();//excelFile
	    
	    InputStream fis = excelFile.getInputStream();
	   
	   List<Map<String, Stirng>>  data = ExcelImportUtil..parseExcel(fis);
           //解析到的数据就可以做一些数据库的插入操作了……
	   return &
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值