使用教程
<h6>1. 工程的pom.xml文件添加如下内容</h6>
<pre><code><dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.1.0</version>
</dependency></code></pre>
<h6>2.导出demo说明</h6>
<p>相关代码文件如下
nisbos\src\main\java\com\nisbos\system\controller\TestController.java
nisbos\src\main\resources\templates\system\test\test.html
nisbos\src\main\resources\static\js\appjs\system\test\test.js
nisbos\src\main\java\com\nisbos\system\domain\TestDO.java</p>
<p>入口如下图所示
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/ddc61a887d873a9534afdf1245e19e89?showdoc=.jpg" alt="" /></p>
<p>导出前端相关代码如下所示</p>
<pre><code class="language-html"><button class="btn btn-success" onclick="doExport()">导出</button></code></pre>
<pre><code class="language-javascript">function doExport(){
var searchName = $("#searchName").val();
document.location.href = prefix + "/export?url="+searchName;
}</code></pre>
<p>导出后台代码如下所示</p>
<pre><code class="language-java">@GetMapping("/export")
public void export(@RequestParam Map<String, Object> params,HttpServletResponse response)throws Exception{
List<TestDO> testList = testService.list(params);
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("测试title","测试sheet"),
TestDO.class, testList);
String fileName = "测试excel.xls";
FileUtil.downLoadExcel(fileName,response,workbook);
}</code></pre>
<p>有需要导出的字段就添加@Excel注解</p>
<pre><code class="language-java">private Long id;
@Excel(name = "类型")
private Integer type;
@Excel(name="内容")
private String url;
@Excel(name = "时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd")
private Date createDate;</code></pre>
<h6>3.导入demo使用说明</h6>
<p>相关代码文件如下
nisbos\src\main\java\com\nisbos\system\controller\TestController.java
nisbos\src\main\resources\templates\system\test\test.html
nisbos\src\main\resources\static\js\appjs\system\test\test.js
nisbos\src\main\java\com\nisbos\system\domain\TestDO.java</p>
<p>入口跟导出的在同个地方</p>
<p>导入前端相关代码如下所示</p>
<pre><code class="language-html"><link href="/css/layui.css" rel="stylesheet">
<script type="text/javascript" src="/js/layui.js"></script>
<button type="button" class="layui-btn" id="importBtn">
<i class="fa fa-cloud"></i>导入
</button></code></pre>
<pre><code class="language-javascript">layui.use('upload', function () {
var upload = layui.upload;
//执行实例
var uploadInst = upload.render({
elem: '#importBtn', //绑定元素
url: '/system/test/import',
size: 1000,
accept: 'file',
done: function (r) {
layer.msg(r.msg);
reLoad();
},
error: function (r) {
layer.msg(r.msg);
}
});
});</code></pre>
<p>导入后端相关代码如下所示</p>
<pre><code class="language-java">@ResponseBody
@PostMapping("/import")
public R doImport(@RequestParam("file") MultipartFile file)throws Exception {
ImportParams params = new ImportParams();
params.setTitleRows(1);
params.setHeadRows(1);
List<TestDO> list = ExcelImportUtil.importExcel(file.getInputStream(), TestDO.class, params);
if(list == null || list.size() == 0){
return R.error();
}
for(TestDO dto : list){
testService.save(dto);
}
return R.ok("导入成功");
}</code></pre>