Hello! 欢迎来到小浪资源网!

如何使用Apache POI将二维数组数据导出到Excel表格?


如何使用Apache POI将二维数组数据导出到Excel表格?

将二维数组导出为 excel

为了将二维数组写入 excel 文件,可以使用 apache poi 库。以下步骤展示如何实现:

引入 maven 依赖

<dependency>     <groupid>org.apache.poi</groupid>     <artifactid>poi</artifactid>     <version>3.17</version> </dependency> <dependency>     <groupid>org.apache.poi</groupid>     <artifactid>poi-ooxml</artifactid>     <version>3.17</version> </dependency>

创建工作簿和工作表

xssfworkbook workbook = new xssfworkbook(); xssfsheet sheet = workbook.createsheet("worksheet");

创建表头

xssfrow row = sheet.createrow(0); for (int i = 0; i < headlist.size(); i++) {     xssfcell cell = row.createcell(i);     cell.setcellvalue(headlist.get(i)); }

写入数据

for (int i = 0; i < contentlist.size(); i++) {     row = sheet.createrow(i + 1);     for (int j = 0; j < contentlist.get(i).size(); j++) {         row.createcell(j).setcellvalue(contentlist.get(i).get(j));     } }

保存文件

xssfworkbook workbook = new xssfworkbook(); workbook.write(new fileoutputstream(file)); workbook.close();

示例代码

import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;  import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List;  public class WriteToExcel {      public static void main(String[] args) {         // 表头测试数据         List<String> headList = new ArrayList<>();         headList.add("昵称");         headList.add("年龄");          // 内容测试数据         List<List<String>> contentList = getContent();          // 创建工作簿和工作表         XSSFWorkbook workbook = new XSSFWorkbook();         XSSFSheet sheet = workbook.createSheet("WorkSheet");          // 设置表头         XSSFRow row = sheet.createRow(0);         for (int i = 0; i < headList.size(); i++) {             XSSFCell cell = row.createCell(i);             cell.setCellValue(headList.get(i));         }          // 设置内容         for (int i = 0; i < contentList.size(); i++) {             row = sheet.createRow(i + 1);             for (int j = 0; j < contentList.get(i).size(); j++) {                 row.createCell(j).setCellValue(contentList.get(i).get(j));             }         }          // 保存文件         try {             workbook.write(new FileOutputStream("D://work.xls"));             workbook.close();             System.out.println("写入成功");         } catch (IOException e) {             e.printStackTrace();         }     }      protected static List<List<String>> getContent() {         List<List<String>> contentList = new ArrayList<>();         List<String> content1 = new ArrayList<>();         content1.add("张三");         content1.add("18");         List<String> content2 = new ArrayList<>();         content2.add("李四");         content2.add("20");         contentList.add(content1);         contentList.add(content2);         return contentList;     } }

相关阅读