
技术:jxls:通过模板导出数据;
poi:解决第一列中相同值的单元格合并;
第一步:依赖导入
<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-core</artifactId>
<version>1.0.6</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.15</version>
</dependency>
第二部:上传需求规定的excel模板
模板编辑:

源码:
将模板存到数据库:
//Controller 层
@RequestMapping(value = "/saveMixedShipExTemplate", method = RequestMethod.POST)
public JsonResult saveMixedShipExTemplate (@RequestParam("file") MultipartFile file) throws IOException{
InputStream is = file.getInputStream();
boolean rs = templateService.saveMixedShipExTemplate(is);
try {
is.close();
} catch (IOException e) {
log.debug("InputStream关闭失败!");
}
if (rs) {
return JsonResult.success();
}else {
return JsonResult.error(ReturnEnum.FAILURE);
}
}
//返回值类型
public class JsonResult<T> implements Serializable {
private static final long serialVersionUID = 2652608027682835212L;
private boolean success;
private String errorCode = "";
private String message = "";
private T data;
//Service 层
public boolean saveMixedShipExTemplate(InputStream inputStream) throws IOException {
if (inputStream == null) {
return false;
}
byte[] data = inputStreamToByte(inp

本文介绍如何利用jxls和Apache POI库实现Excel数据导出及单元格合并功能。首先通过Maven引入所需依赖,然后将Excel模板文件存储至数据库,并借助jxls完成数据填充。最后通过自定义逻辑实现特定列的单元格合并。
最低0.47元/天 解锁文章
4768

被折叠的 条评论
为什么被折叠?



