先从csv文件读取数据 再用XSSFWorkbook向xlsx文件写入数据,代码里面设置了单元格属性(居中
时间: 2024-09-26 07:14:13 浏览: 74
当你需要从CSV文件读取数据并将其写入Excel(XLSX)文件时,可以使用Apache POI库,它是一个Java API,用于处理Microsoft Office格式的文档,包括Excel。以下是一个简单的示例,展示了如何完成这个过程,并设置单元格居中:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class CsvToExcel {
public static void main(String[] args) throws Exception {
// 读取CSV文件
FileInputStream csvFile = new FileInputStream(new File("input.csv"));
CSVParser parser = CSVParser.parse(csvFile, Charset.defaultCharset(), CSVFormat.DEFAULT.withFirstRecordAsHeader());
// 创建一个新的XSSFWorkbook对象
Workbook workbook = new XSSFWorkbook();
// 获取第一个工作表
Sheet sheet = workbook.createSheet("Sheet1");
// 遍历CSV记录并写入Excel
for (CSVRecord record : parser) {
int rowNum = sheet.getLastRowNum() + 1; // 获取当前行数
Row row = sheet.createRow(rowNum);
// 设置单元格居中
CellStyle centerStyle = workbook.createCellStyle();
centerStyle.setAlignment(HorizontalAlignment.CENTER);
for (int i = 0; i < record.size(); i++) {
Cell cell = row.createCell(i);
cell.setCellValue(record.get(i));
cell.setCellStyle(centerStyle); // 将样式应用到每个单元格
}
}
// 关闭流并保存到XLSX文件
FileOutputStream outputStream = new FileOutputStream("output.xlsx");
workbook.write(outputStream);
workbook.close();
csvFile.close();
outputStream.close();
System.out.println("数据已成功写入Excel文件并设置了居中对齐.");
}
}
```
阅读全文