怎么用java将 xlsx文件 转换成 csv 格式?

怎么用java将 xlsx文件 转换成 csv 格式

我想通过java后台将一个xlsx格式的文件转为csv文件,并且可以导出,有推荐的工具或方案吗?
如果有代码示例就更好了

阅读 1k
avatarAI BotBETA

当然,可以使用Apache POI库来读取xlsx文件并将其转换为csv格式。以下是一个简单的示例代码:

import java.io.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;

public class XlsxToCsvConverter {
    public static void main(String[] args) throws IOException {
        String inputFile = "input.xlsx";
        String outputFile = "output.csv";
        
        // Create an instance of WorkbookFactory to read the input file
        WorkbookFactory factory = new WorkbookFactory();
        XSSFWorkbook workbook = (XSSFWorkbook) factory.create(new File(inputFile));
        
        // Get the first sheet of the workbook
        XSSFSheet sheet = workbook.getSheetAt(0);
        
        // Create a CSV writer to write the output file
        PrintWriter writer = new PrintWriter(new FileWriter(outputFile));
        
        // Iterate over the rows and columns of the sheet and write the values to the CSV file
        for (int rownum = 0; rownum <= sheet.getLastRowNum(); rownum++) {
            Row row = sheet.getRow(rownum);
            for (int cellnum = 0; cellnum < row.getLastCellNum(); cellnum++) {
                Cell cell = row.getCell(cellnum);
                if (cell != null) {
                    writer.print(cell.toString());
                    if (cellnum < row.getLastCellNum() - 1) {
                        writer.print(",");
                    }
                }
            }
            writer.println();
        }
        
        // Close the writer and workbook objects
        writer.close();
        workbook.close();
    }
}

这个示例代码使用Apache POI库来读取xlsx文件,并将每个单元格的值写入CSV文件中。请确保在运行代码之前将Apache POI库添加到您的项目中。

3 个回答

csv 全称是逗号分隔值,以逗号来分隔列,换行符就是换行。是比较简单的文本格式看到全称是不是就有思路了

推荐问题
宣传栏