使用easypoi 将数据库数据导出 以及将Excel表格数据导入数据库 第五版
程序员文章站
2022-06-25 07:53:23
...
先说导出
java代码
@SpringBootTest(classes = {ShujiegouApplication.class})
@RunWith(SpringJUnit4ClassRunner.class)
public class EasyPoiExportTest {
@Autowired
private SysColumnService sysColumnService;
@Test
public void test() throws Exception{
List<SysColumn> sysColumnAll = sysColumnService.getSysColumnAll();
//标题 表名 导出类型 HSSF xls XSSF xlsx
ExportParams exportParams = new ExportParams("栏目表","column", ExcelType.XSSF);
//1.导出参数对象 1.普通Java类的类对象(要导出的实体类的类对象) 3.一个集合 查询全部的用户信息
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, SysColumn.class,sysColumnAll);
workbook.write(new FileOutputStream(new File("E://easypoi.xlsx")));
}
}
实体类代码
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "sys_column")
public class SysColumn {
@Id
@Excel(name = "主键")
private Integer id;
@Excel(name = "列名")
private String columnName;
@Excel(name = "父id")
private Integer parentId;
@ExcelIgnore //忽略字段(属性)
private Integer columnRank;
@Excel(name = "跳转页面")
private String enName;
}
效果图
期间出现了一个异常
java.lang.IllegalArgumentException: lastRow < firstRow || lastCol < firstCol
原因是实体类上我没有加入 Easypoi的相关注解(例如 @Excel等等),加上即可。
再说导入
java代码
@Test
public void test1(){
//创建导入参数对象
ImportParams importParams = new ImportParams();
//设置标题占行数
importParams.setTitleRows(1);
//设置表头占行数
importParams.setHeadRows(1);
//参数:1,读取文件 2,对应的实体类 3,导入参数对象
List<SysColumn> sysColumns = ExcelImportUtil.importExcel(new File("E://easypoi.xlsx"), SysColumn.class, importParams);
for (SysColumn sysColumn:sysColumns) {
System.out.println(sysColumn);
}
}
控制台输出来的结果
既然我们已经获取到了数据,接下来我们只要往数据库添加数据即可。
相较于之前写的poi是不是简单了很多呢?哈哈
这辈子坚持与不坚持都不可怕,怕的是独自走在坚持的道路上!
欢迎加入技术群聊!
推荐阅读
-
使用工具 plsqldev将Excel导入Oracle数据库
-
使用NPOI将Excel表导入到数据库中
-
使用easypoi 将数据库数据导出 以及将Excel表格数据导入数据库 第五版
-
poi导出Excel 写入标题栏 以及 将数据库中数据进行导出 版本二
-
PHP将Excel导入数据库及数据库数据导出至Excel的方法
-
如何将excel表格数据导入postgresql数据库
-
PHP将Excel导入数据库以及数据库数据导出至Excel
-
使用工具 plsqldev将Excel导入Oracle数据库
-
PHP将Excel导入数据库以及数据库数据导出至Excel
-
使用NPOI将Excel表导入到数据库中