EasyExcel设置全部列宽不能创建sheet
时间: 2023-08-06 19:10:07 浏览: 114
哦,抱歉,我之前的回答中有误。在EasyExcel中,设置全部列的宽度时,需要在创建Sheet对象之前设置,否则会报错。
下面是示例代码:
```java
// 准备写出的数据
List<List<String>> data = new ArrayList<>();
for (int i = 0; i < 10; i++) {
List<String> row = new ArrayList<>();
for (int j = 0; j < 5; j++) {
row.add("测试数据" + i + "-" + j);
}
data.add(row);
}
// 创建输出流
OutputStream outputStream = new FileOutputStream("test.xlsx");
// 创建ExcelWriter对象
ExcelWriter excelWriter = EasyExcel.write(outputStream).build();
// 设置所有列的宽度为20个字符宽度
excelWriter.setColumnWidth(-1, 20);
// 创建Sheet对象
Sheet sheet = new Sheet(1, 0);
// 写出数据
excelWriter.write(data, sheet);
// 关闭ExcelWriter对象
excelWriter.finish();
// 关闭输出流
outputStream.close();
```
上面的代码中,我们先准备了一些测试数据,然后创建了一个输出流和ExcelWriter对象,接着通过`setColumnWidth`方法设置了所有列的宽度为20个字符宽度,然后创建了一个Sheet对象,并将数据写出到Excel文件中,最后关闭ExcelWriter对象和输出流。
需要注意的是,`setColumnWidth`方法的第一个参数设置为`-1`,表示设置所有列的宽度。
阅读全文