怎么用java将 xlsx文件 转换成 csv 格式
我想通过java后台将一个xlsx格式的文件转为csv文件,并且可以导出,有推荐的工具或方案吗?
如果有代码示例就更好了
当然,可以使用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库添加到您的项目中。
可以参考下面的代码,其基于 GcExcel,GcExcel打开和保存对xlsx 和 csv 格式支持的很好,用起来非常简单。
public void SaveAsCSV(){
Workbook wb = new Workbook();
wb.open("resources/1w.xlsx");
wb.save("output/SaveAsCsv.csv");
}
如果有更多特定的需求,也可以参考 导入和导出CSV文件 - GcExcel 中文文档Java版 | 服务端高性能表格组件 - 葡萄城
3 回答2.2k 阅读✓ 已解决
3 回答3.7k 阅读✓ 已解决
8 回答2.9k 阅读
4 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
1 回答1.9k 阅读✓ 已解决
站内的文章教程:
利用POI的;