java csv转xlsx
时间: 2023-09-07 12:12:18 浏览: 138
你可以使用Apache POI库来实现Java中CSV文件转XLSX文件的功能。以下是一个简单的示例代码:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
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.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.opencsv.CSVReader;
public class CsvToXlsxConverter {
public static void main(String[] args) throws IOException {
// 读取CSV文件
CSVReader csvReader = new CSVReader(new FileInputStream("input.csv"));
String[] header = csvReader.readNext();
String[][] data = csvReader.readAll();
csvReader.close();
// 创建新的XLSX文件
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
// 写入表头
Row headerRow = sheet.createRow(0);
for (int i = 0; i < header.length; i++) {
Cell cell = headerRow.createCell(i);
cell.setCellValue(header[i]);
}
// 写入数据
for (int i = 0; i < data.length; i++) {
Row row = sheet.createRow(i + 1);
for (int j = 0; j < data[i].length; j++) {
Cell cell = row.createCell(j);
cell.setCellValue(data[i][j]);
}
}
// 保存XLSX文件
FileOutputStream outputStream = new FileOutputStream(new File("output.xlsx"));
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
}
```
在上面的代码中,我们使用了com.opencsv.CSVReader类来读取CSV文件,使用Apache POI库的XSSFWorkbook类来创建新的XLSX文件,并使用Workbook和Sheet类来写入表头和数据。最后,我们使用FileOutputStream类将XLSX文件保存到磁盘上的指定位置。
注意:在运行代码之前,你需要将Apache POI库和OpenCSV库添加到项目的classpath中。
阅读全文