工作或学习中,我们常常会遇到任意批量导出多张表的数据,生成TXT文件并压缩打包。
举例:
有数据库表TABLE1,TABLE2,TABLE3...
需要我们在系统页面中将这些表的数据批量导出成各个TXT文件,并压缩打包。工作中,客户常常会有这样的需求。至于实现,页面端采取什么技术并不重要,关键是这个页面要能让客户灵活得进行多选,或设置一些过滤条件,这样就能知道需要按照何种条件导出哪些表的数据了。
我这里采取JS技术做web端页面,页面中展示所有表的信息,并提供多选框功能,再用json封装选择的表信息。
在对json进行解析,循环遍历查询数据,将返回的结果集通过IO流写入txt文件(其他文件类似处理),最后压缩打包。
部分代码:
response.setContentType(CONTENT_TYPE);
response.setHeader("Content-disposition", "inline;filename=\""+ new
String( fileName.getBytes("gb2312"), "ISO8859-1" )+"\";");
HashMap paras = new HashMap();
paras = (HashMap)model.get("paras");
//要导出的文件,其实是Json对象,通知我们要导出哪些表
String files = MapUtils.getString(paras, "