在开发对接第三方接口过程中,经常会有以表格形式做参数说明的情况,表格示例如下:
参数 | 类型 | 传送标识 | 描述 |
---|---|---|---|
name | string | m(必填) | 名字 |
使用代码将其转换为
private String name;// m(必填) 名字
思路仅供自己参考:
复制表格至excel——使用代码解析excel——获得解析的字符串并添加至类中。
1、代码所需依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>
2、代码块如下
import cn.hutool.core.util.StrUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import java.util.List;
/**
* @author 表格解析为属性字符串
* @since 2022/8/22
*/
public class ParseExcelUtil {
public static void main(String[] args) {
// 输入表格绝对路径
String filePath = "D:\\xxx\\xx.xlsx";
ExcelReader reader = ExcelUtil.getReader(filePath);
List<List<Object>> readAll = reader.read();
StringBuffer buffer = new StringBuffer();
// 对表格内容进行遍历读取
readAll.forEach(oneLine -> {
String name = oneLine.get(0).toString();
// 使用hutool的字符串工具将下划线命名改为驼峰命名
name = StrUtil.toCamelCase(name);
// 表格可能存在一行字段名开头,有多行备注的情况,这个时候做判断
if (!buffer.toString().contains(name)) {
buffer.append("\n").append("private ");
String type = oneLine.get(1).toString();
// 在文档中字段类型不规范时做转换
switch (type) {
case "string":
type = "String";
break;
case "int":
type = "Integer";
break;
default:
type = type;
}
buffer.append(type).append(" ").append(name)
.append(";// ")
.append(oneLine.get(2))
.append(" ")
.append(oneLine.get(3));
} else {
buffer.append(oneLine.get(3).toString());
}
});
System.out.println(buffer.toString());
}
}
优化空间还很大,先备份用着