如何在Java中使用字体格式将XLSX文件转换为CSV

时间:2018-07-30 07:10:59

标签: java excel csv apache-poi xlsx

我正在尝试将我的xls文件转换为csv文件。我的Java代码可以正确转换文本。但我没有任何字体格式和其他格式。 因此,如何在CSV(在Excel中打开)文件中获取字体格式。

public class XlsxtoCSV {

        public static void main(String[] args) throws Exception{
             FileInputStream input_document = new FileInputStream(new File("/home/blackpearl/Downloads/file.xlsx"));
             HSSFWorkbook my_xls_workbook = new HSSFWorkbook(input_document); 
             HSSFSheet  my_worksheet = my_xls_workbook.getSheetAt(0); 

             Iterator<Row> rowIterator = my_worksheet.iterator();
             FileWriter my_csv=new FileWriter("/home/blackpearl/Downloads/Newfile.csv");
             CSVWriter my_csv_output=new CSVWriter(my_csv); 
             while(rowIterator.hasNext()) {
                     Row row = rowIterator.next(); 
                     int i=0;//String array
                     String[] csvdata = new String[20];
                     Iterator<Cell> cellIterator = row.cellIterator();
                             while(cellIterator.hasNext()) {
                                     Cell cell = cellIterator.next(); //Fetch CELL
                                     switch(cell.getCellType()) { //Identify CELL type
                                     case Cell.CELL_TYPE_STRING:
                                             csvdata[i]= cell.getStringCellValue();                                              
                                             break;
                                     }
                                     i=i+1;
                             }
             my_csv_output.writeNext(csvdata);
             }
             System.out.println("file imported");
             my_csv_output.close(); //close the CSV file
             input_document.close(); //close xlsx file
     }
}

1 个答案:

答案 0 :(得分:2)

CSV代表逗号分隔的值。的确如此。它是文本,其值用逗号分隔(或在某些版本中为分号或其他定界符)。它基本上是纯文本文件,可以使用文本编辑器打开和编辑。无法以该文件格式包含格式信息。