IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 使用集成poi的hutool生成excel -> 正文阅读

[开发测试]使用集成poi的hutool生成excel

主要思路:使用bean存放从接口取到的数据,把组装的数据根据hutool官方提供的写入方法(bean写入方式)写入到excel中,并设置一定的样式。

目录

1、写excel文件主方法

2、组装写入的数据集合

3、接收API返回的bean类

4、输出结果


1、写excel文件主方法

String tempFile = "xxx/xxxx/xxxx/xxxx.xlsx";
ExcelWriter writer = new ExcelWriter(tempFile, "sheet的名字");
//自定义标题别名
writer.addHeaderAlias("id", "序号");
writer.addHeaderAlias("orgName", "名称");
writer.addHeaderAlias("dirNums", "总数");
writer.addHeaderAlias("unSetDirNums", "目录数1");
writer.addHeaderAlias("setDirNums", "目录数2");
writer.addHeaderAlias("resNums", "资源数");
writer.addHeaderAlias("kbResNums", "表数");
//默认的,未添加alias的属性也会写出,如果想只写出加了别名的字段,可以调用此方法排除之
writer.setOnlyAlias(true);

//设置列宽
writer.setColumnWidth(1, 16);
writer.setColumnWidth(3, 15);
writer.setColumnWidth(4, 15);
//合并单元格后的标题行,使用默认标题样式
writer.merge(10, "XXXXX统计表头名称");

//设置字体
Font headFont = writer.createFont();
headFont.setBold(true);
headFont.setFontName("宋体");
writer.getStyleSet().setFont(headFont, false);
//writer.getStyleSet().setBackgroundColor(IndexedColors.LIGHT_GREEN, true);

//一次性写出内容,使用默认样式,强制输出标题
writer.write(makeShizhouArray(), true);

Font bodyFont = writer.createFont();
bodyFont.setBold(false);
bodyFont.setFontName("宋体");
writer.getStyleSet().setFont(bodyFont, true);
//writer.getStyleSet().setBackgroundColor(IndexedColors.AUTOMATIC, false);

//关闭writer
writer.close();

2、组装写入的数据集合

ArrayList<DataModel> makeShizhouArray(){
    String shizhou = HttpUtil.get("某一个接口的请求地址,返回的是JSON数据");
    //接口结果转json
    JSONArray shizhouJson = JSONArray.parseArray(shizhou);
    ArrayList<DataModel> szRows = new ArrayList<DataModel>();
    for(int i=0;i<shizhouJson.size();i++) {
        JSONObject eachObj = shizhouJson.getJSONObject(i);
        String group_name = eachObj.get("group_name").toString();//名称
        String api_amount = eachObj.get("api_amount").toString();//接口
		//....获取到所有需要的字段值,然后填充到bean里面去

        DataModel row1 = new DataModel();
        row1.setId(i+1);
        row1.setOrgName(group_name);
        //...放到list中
        szRows.add(row1);
    }
		return szRows;
} 

3、接收API返回的bean类

import lombok.Data;

@Data
public class DataModel {

	/**序号*/
	Integer id;
	/**名称*/
	String orgName;
	
	/**目录数*/
	Integer dirNums;
	/**目录数1*/
	Integer jcDirNums;
	/**目录数2*/
	Integer ztDirNums;
	/**目录数3*/
	Integer bmDirNums;
	/**目录数4*/

    //...其他字段

	
}

4、输出结果

?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:22:01  更:2022-03-21 21:23:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:42:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码