请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如何生成带有字段是下拉框的模板Excel?

实际工作中,需要批量导入一些业务表的基础数据,相关的表字段数据有些是其他业务表关联的,通常在填写这种数据的时候一般不是手动输入的,都是在生成导入模板的时候自动生成的下拉框选项数据供用户选择输入。最近使用了阿里的easyExcel,下拉选框数据是生成了,问题是在选择下拉框数据的时候,我后端拿到的是对应的文本值,其实我业务表中该字段存的是ID。翻阅了一下官方文档也没找出怎么解决这个问题。所以针对这种问题有没有比较好的解决办法。

正在回答 回答被采纳积分+3

1回答

张勤一 2020-09-14 11:46:09

同学你好:

    我看了你的问题,大概意思我明白,其实就是你的数据类型存储到 Excel 中,然后在 Excel 中的数据类型表现不是你后端的数据类型。例如:后端是 int,存储到 Excel 是 String,导致不能做计算这样的问题。

    我个人没有使用过 EasyExcel,我更加习惯的是 Apache 的 Poi,其实 EasyExcel 就是对 Poi 的外层包了一下,我实在是看不出来 Easy 在哪里。你之所以会遇到这样的问题,其实就是在存储的时候没有给 Excel Cell 设置数据类型,这个简单的设置下就好。如果查不到 EasyExcel 的文档(国产的东西文档都是很少很少的),就直接去查看 Poi 的就可以。

    我简单的说下 Poi 对 Excel 的各个元素的命名,及其关系:

    在 POI 中,Workbook 代表着一个 Excel 文件(工作簿),Sheet 代表着 Workbook 中的一个表格,Row 代表 Sheet 中的一行,而 Cell 代表着一个单元格。HSSFWorkbook 对应的就是一个 .xls 文件,兼容 Office97-2003 版本。XSSFWorkbook 对应的是一个 .xlsx 文件,兼容 Office2007 及以上版本。 在 HSSFWorkbook 中,Sheet 接口 的实现类为 HSSFSheet,Row 接口 的实现类为 HSSFRow,Cell 接口的实现类为 HSSFCell。XSSFWorkbook 中实现类的命名方式类似,在 Sheet、Row、Cell 前加 XSSF 前缀即可。

    如果使用 Poi 的话,Maven 依赖使用如下的即可:

<!-- 基本依赖,仅操作 xls 格式只需引入此依赖 -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.14</version>
</dependency>
<!-- 使用 xlsx 格式需要额外引入此依赖 -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.14</version>
</dependency>

 

    我是勤一,致力于将这门课程的问答区打造为 Java 知识体系知识库,Java 知识体系 BBS!共同建造、维护这门课程,我需要每一个你!

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信