导入Excel
<h5>步骤1</h5>
<p>在前端页面中添加导入按钮,并且给予事件</p>
<pre><code class="language-html"><a class="btn btn-danger btn-xs no-border" onclick="$.table.import()">
<i class="fa fa-cloud-upload"></i> 导入
</a></code></pre>
<p>配置导出链接</p>
<pre><code class="language-javascript">$.table.init({
modalName:"用户",
modalType:"user",
importUrl:path + "/attachment?attachment_type="+options.modalType // 导入页面弹出框URL,可以省略,默认就是这个地址,具体原因,请参考前端章节。
uploadUrl:path + "/attachment/upload", // 导入页面中点击提交上传的URL,可以省略,默认就是这个地址,具体原因,请参考前端章节。
downloadUrl: path + "/attachment/download?attachment_type="+options.modalType, // 下载导入模板地址
});</code></pre>
<h5>步骤2</h5>
<p>在项目webapps/import/tpl目录下,创建导入模板,需要两个模板
XXX.xlsx 和 XXX.tpl , 其中 xlsx 文件是 下载的样例文件,tpl文件是主要的导入模板文件</p>
<p>tpl内容样例:</p>
<pre><code class="language-java">{
table_name:"t_pdc_user",
columns:["用户名称","用户性别","真实姓名","用户手机","用户邮箱"],
fields:["user_name","sex","real_name","user_phone","user_email"],
sex:{"全部":"-1","男":"1","女":"2"}
}</code></pre>
<p>属性解释:</p>
<pre><code class="language-java">table_name // 必填属性,导入数据为哪张表
columns // 必填属性,导入csv表格的表头字段,这里面的字段名称和顺序必须和XXX.csv样例文件中的一致,否则会错位导致导入出错。
fields // 必填属性,必须和数据库中的字段名称一致,并且要和columns中的顺序保持一致,否则会错位导致导入出错。
sex // 非必填,如果存在该属性,必须是fields中已有的字段,否则造成冗余字段的情况。将用户导入该字段的内容继续转换后存入数据库。</code></pre>
<h3>自定义导入实现方式</h3>
<pre><code class="language-javascript">// 默认表单的导入按钮事件为 $.table.import();
// 定义 importUrl 和 uploadUrl 属性;
// importUrl : 点击导入按钮出现的弹出框地址
// uploadUrl : 上传用户待导入的文件地址
$.table.init({
modalName:"地址",
modalType:"address",
importUrl:path + "/address/imports",
uploadUrl:path + "/address/upload",
onDblClickRow:function(index,node){
}
});</code></pre>
<pre><code class="language-java">// 实现以上哪个方法
/**
*
* 导入页面<br>
* 添加: zhangjian - 2019年12月11日 下午1:58:46<br>
* 修改: zhangjian - 2019年12月11日 下午1:58:46<br>
* @throws Exception
*/
public void imports() throws Exception{
render("address_import.html");
}
/**
*
* 导入方法<br>
* 添加: zhangjian - 2019年12月11日 下午1:59:00<br>
* 修改: zhangjian - 2019年12月11日 下午1:59:00<br>
* @throws Exception
*/
public void upload() throws Exception{
UploadFile uploadFile = getFile("upfile");
Address address = getSaveModel(Address.class);
Address.dao.uploadAddress(uploadFile, address);
renderJson(ok());
}</code></pre>