在做web开发时,我们经常会用到数据表格的导入导出功能,这样可以帮我们节省人工操作的时间,极大提高办事效率。
笔者所做的导入导出是针对Java springMVC框架、工作簿poi以及前端jquery-easyui插件设计的。
采用三层架构设计,前台发送请求到对应的servelet中,Servelet根据不同的请求实现具体的方法,到持久层查询数据库信息。(对于理解和学习java对excel操作很适合)
项目所需要的jar包和插件下载地址:
https://download.csdn.net/download/a1150499208/10921184
项目所需要的sql下载地址:
https://download.csdn.net/download/a1150499208/10921220
整体结构如下:
因为只是为了实现,导入导出的功能,和对数据库的查询和插入,页面直接使用的是插件包里面的,没做过多的修饰,效果如下:
点击左上角红色向左按钮导入,支持导入excel,通过解析excel里面的数据,封装起来,到持久层插入到对应的表中。
点击左上角黄色向右按钮导出,实现导出excel数据导出。
前台页面代码:
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
POIExcel$(function(){
Init();//打开页面就去查询了
});
//我去查询所有用户信息了
function Init(){
$('#excel').datagrid({
type : 'post',
url : './UserJsonServlet',
loadMsg : '数据加载中,请稍等!!!!!!!!',
nowrap : false,
striped : true,
fit : true,
pagination:true,
columns : [[
{field:'checkbox',checkbox:true},
{field : 'id',title : '编号',width : 100,align:'center'},
{field : 'name',title : '姓名',width : 120,align:'center'},
{field : 'sex',title : '性别',width : 100,align:'center'},
{field : 'age',title : '年龄',width : 120,align:'center'},
{field : 'tell',title : '电话',width : 150,align:'center'},
{field : 'address',title : '地址',width : 280,align:'center'}
]],
toolbar: [{
width:'50',
iconCls: 'icon-undo',
handler: function(){ExcelImport();}
},'-',{
width:'50',
iconCls: 'icon-redo',
handler: function(){ExcelExport();}
}]
});
}
/*Excel导入 */
function ExcelImport() {
alert("导入excel!")
var url="./ExcelImportServlet";
window.open(url);
}
/*Excel导出 */
function ExcelExport(){
alert("导出excel!")
var url="./ExcelExportServlet";
window.open(url);
}
style="width: 930px; height: 350px; background: #fafafa;"
data-options="border:false">