java-execl写入数据-单个/批量

java-execl写入数据-单个/批量

需要先创建一个excel文档。
pash:读取excel文档路径。
cls:文档中需要写列名,
data:需要写的数据。可以是list,也可以是单个。
直接上代码

   public static void writeExcel(String path, Class<?> cls, Collection<?> data){
        EasyExcel.write(path,cls).
                excelType(ExcelTypeEnum.XLSX).
                registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).
                sheet("模版").
                doWrite(data);
    }

例:批量写入

public void test0011(){
      
        List<dskAndDss> dsklist = new ArrayList<>();
        //获取文档路径。
        List<String> list = ReadExcelUtil.queryDataByExecl("绝对路径.slsx");
        //写入文档路金
        String path = "绝对路径.slsx";
        for (String dsk: list) {
            //查询。获取dss
            queryDSK(dsk);
            DSKDto unTranferskDto = getData(DSKDto.class);
            String dss = unTranferskDto.getDss();
           
            //生成新的excel,存在dsk和dss数据
            dskAndDss dskAndDss = new dskAndDss();
            dskAndDss.setDsk(dsk);
            dskAndDss.setDss(dss);
            dsklist.add(dskAndDss);
        }
        //批量写入数据
        WriterExcelUtil.writeExcel(path,dskAndDss.class,dsklist);
    }

注:excel中的列,会根据Class<?> cls的模型生成对应的列名
例:


```java
public class dskAndDss {

    public String getDss() {
        return dss;
    }

    public void setDss(String dss) {
        this.dss = dss;
    }

    public String getDsk() {
        return dsk;
    }

    public void setDsk(String dsk) {
        this.dsk = dsk;
    }

    public String dss;
    public String dsk;

}

生成的excel:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java中将Map数据写入Excel文件的示例代码: ```java import java.io.FileOutputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class WriteMapToExcel { public static void main(String[] args) { Map<String, String> data = new HashMap<>(); data.put("Name", "John"); data.put("Age", "28"); data.put("Address", "123 Main St"); XSSFWorkbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Data"); int rowNum = 0; Row headerRow = sheet.createRow(rowNum++); int colNum = 0; for (String header : data.keySet()) { Cell cell = headerRow.createCell(colNum++); cell.setCellValue(header); } Row dataRow = sheet.createRow(rowNum++); colNum = 0; for (String value : data.values()) { Cell cell = dataRow.createCell(colNum++); cell.setCellValue(value); } try (FileOutputStream outputStream = new FileOutputStream("data.xlsx")) { workbook.write(outputStream); } catch (IOException e) { e.printStackTrace(); } } } ``` 该示例将一个包含姓名、年龄和地址的Map写入Excel文件。创建了一个XSSFWorkbook对象,创建一个名为“Data”的工作表,并在第一行中创建标题行。然后在第二行中创建数据行,并将Map的值写入单元格中。将工作簿写入文件中。注意,在try-with-resources语句中打开的FileOutputStream将在写入完成后自动关闭。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值