Java如何利用poi创建excel并写入数据,看这篇就够啦~

作者:悠悠做神仙
来源: 恒生LIGHT云社区
该部分主要是在做testNG数据驱动时候的一个需求,但是写入excel其实应用场景很多,大家可以参考一下演示代码。其实,除了利用POI写入excel,还可以考虑csv文件写入,文章中也写了一个工具类可供参考。

1、利用POI创建excel写入数据
首先,导入依赖,在pom文件增加以下依赖:
org.apache.poi poi-ooxml 3.8 commons-io commons-io 2.5

下面都是用的XSSF开头的类,文件后缀为“.xlsx”
(HSSF开头的类对应文件后缀为“.xls”)
注意:由于整体架构需要,所以每个项都建了一个集合,这个根据实际需要也可以建一个类的集合。
上代码:
/** * @author youyouzuoshenxian * @version 1.0.0 * @ProjectName demoProject * @ClassName MyTest.java * @Description 利用Poi生成excel * @param filePath * @createTime 2021年07月25日 18:25:00 */ public static void getExcel(String filePath){ // 定义表头 String[] title = {"实际结果", "预期结果", "描述"}; // 定义实际结果集 // List data = https://www.it610.com/article/new ArrayList<>(); // data.add(new Object[]{"页面元素1", "页面元素2", "case1"}); // data.add(new Object[]{"悠悠做神仙", "小神仙", "case2"}); List actuallist = new ArrayList<>(); List exceptlist = new ArrayList<>(); List description = new ArrayList<>(); actuallist.add("登录admin"); actuallist.add("yyzsx"); actuallist.add("悠悠做神仙"); exceptlist.add("登录"); exceptlist.add("youyouuzoshenxian"); exceptlist.add("悠悠"); description.add("case1"); description.add("case2"); description.add("case3"); //创建excel工作簿 XSSFWorkbook workbook = new XSSFWorkbook(); //创建工作表sheet XSSFSheet sheet = workbook.createSheet(); //创建第一行 XSSFRow row = sheet.createRow(0); XSSFCell cell = null; //插入第一行的表头 for (int i = 0; i < title.length; i++) { cell = row.createCell(i); cell.setCellValue(title[i]); } for (int i = 1; i

调用方法,看一下执行结果:
【Java如何利用poi创建excel并写入数据,看这篇就够啦~】Java如何利用poi创建excel并写入数据,看这篇就够啦~
文章图片

Java如何利用poi创建excel并写入数据,看这篇就够啦~
文章图片

2、写入csv文件工具类
/** * @author youyouzuoshenxian * @version 1.0.0 * @ProjectName demoProject * @ClassName MyTest.java * @Description 利用Poi生成excel * @param filePath * @param header * @param info * @createTime 2020年08月25日 20:05:13 */ public static void writeCVS(String filePath, String header, List info) { BufferedWriter fw = null; //String header = "method,code,javaPath\r\n"; try { fw = new BufferedWriter (new OutputStreamWriter (new FileOutputStream (filePath,true),"GBK")); StringBuilder str =null; fw.write(header); for (int i = 0, lenth = info.size(); i < lenth; i++) { str = new StringBuilder(); String src = https://www.it610.com/article/info.get(i); String[] colum = src.split("@"); for (int j = 0, len = colum.length; j < len; j++) { String infoitem = colum[j]; if (infoitem.contains(",")) { if (infoitem.contains("\"")) { infoitem = infoitem.replace("\"", "\"\""); } infoitem = "\"" + infoitem + "\""; } str.append(infoitem + ","); } if(!StringUtils.isBlank(str.toString())){ fw.write(str.toString()); } fw.flush(); } fw.close(); } catch (IOException e) { e.printStackTrace(); }}

希望大家有所收获!

    推荐阅读