Java 中如何将数据写在csv文件中并且分成多个sheet 页,并且如何将csv的sheet也更改成自己定义的名字
时间: 2024-12-21 14:28:05 浏览: 92
在Java中,你可以使用Apache Commons CSV库来操作CSV文件,包括创建新的文件、添加数据到多个Sheet(通常我们称其为“表”),以及指定每个表的名称。这里是一个简单的示例:
```java
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
// 创建CSV文件并指定文件路径
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class CsvWriter {
public static void writeMultipleSheets(String filePath, String[] sheetNames, Object[][] data) throws IOException {
CSVFormat format = CSVFormat.DEFAULT.withHeader(); // 添加表头
try (FileWriter writer = new FileWriter(new File(filePath))) {
for (int i = 0; i < sheetNames.length; i++) {
// 打开一个新的Sheet
writer.append("\n").append(sheetNames[i] + "\n");
CSVPrinter printer = new CSVPrinter(writer, format);
// 写入数据到当前Sheet
for (Object[] rowData : data[i]) {
printer.printRecord(rowData);
}
// 关闭当前Sheet
printer.flush();
printer.close();
}
}
}
// 示例数据
private static final String[][] exampleData = {{"Name", "Age", "City"}, {"John Doe", "30", "New York"}, ...};
// 调用方法,例如
public static void main(String[] args) {
try {
writeMultipleSheets("data.csv", new String[]{"Sheet1", "Sheet2"}, exampleData);
} catch (IOException e) {
System.err.println("Error writing to CSV file: " + e.getMessage());
}
}
}
```
在这个例子中,`writeMultipleSheets`方法接受文件路径、Sheet名称数组和包含数据的二维数组。它会创建一个新的文件,然后循环遍历每个Sheet名,写入对应的表头和数据行。
注意,这个例子假设数据数组的结构是一致的,即每个表格都有相同的列数。如果你的数据结构不同,你需要调整相应的代码来适应。
阅读全文
相关推荐

















