Java 中如何将数据写在csv文件中并且分成多个sheet 页
时间: 2024-12-21 13:27:00 浏览: 6
在Java中,可以使用Apache Commons CSV库或OpenCSV库来处理CSV文件,包括创建多sheet页。以下是使用Apache Commons CSV的一个简单示例,它演示了如何添加数据到不同的Sheet:
首先,你需要在项目中添加Apache Commons CSV依赖。如果你使用Maven,可以在pom.xml中添加以下依赖:
```xml
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.9</version>
</dependency>
```
然后,你可以创建一个CSVWriter,并使用`writeAll`方法分多次写入不同sheet的数据:
```java
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
// 示例数据
List<String[]> data = Arrays.asList(
{"Sheet1", "Row1 Cell1", "Row1 Cell2"},
{"Sheet1", "Row2 Cell1", "Row2 Cell2"}, // 这些是Sheet1的数据
{"Sheet2", "Row3 Cell1", "Row3 Cell2"}, // 这些是Sheet2的数据
// 更多数据...
);
CSVFormat csvFormat = CSVFormat.DEFAULT.withHeader(); // 设置列头
try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.csv"));
CSVPrinter printer = new CSVPrinter(writer, csvFormat)) {
for (String[] sheetData : data) {
printer.printRecord(sheetData);
// 到达新的sheet时,换行并开始新的一轮打印
if (!sheetData[0].equals(data.get(0)[0])) { // 检查是否是新sheet
printer.println();
printer.flush();
}
}
} catch (IOException e) {
e.printStackTrace();
}
阅读全文