如何在java中使用字体格式将XLSX文件转换为CSV
我正在尝试将xls文件转换为csv文件。我的java代码正确地转换文本。但我没有得到任何字体格式和其他格式。 那么,如何在CSV(在excel中打开)文件中获取字体格式呢如何在java中使用字体格式将XLSX文件转换为CSV,java,excel,csv,apache-poi,xlsx,Java,Excel,Csv,Apache Poi,Xlsx,我正在尝试将xls文件转换为csv文件。我的java代码正确地转换文本。但我没有得到任何字体格式和其他格式。 那么,如何在CSV(在excel中打开)文件中获取字体格式呢 公共类XlsxtoCSV{ 公共静态void main(字符串[]args)引发异常{ FileInputStream input_document=newfileinputstream(新文件(“/home/blackpearl/Downloads/File.xlsx”); HSSFWorkbook my_xls_工作簿=新
公共类XlsxtoCSV{
公共静态void main(字符串[]args)引发异常{
FileInputStream input_document=newfileinputstream(新文件(“/home/blackpearl/Downloads/File.xlsx”);
HSSFWorkbook my_xls_工作簿=新的HSSFWorkbook(输入文档);
HSSFSheet my_sheet=my_xls_工作簿。getSheetAt(0);
迭代器rowIterator=我的工作表。迭代器();
FileWriter my_csv=新的FileWriter(“/home/blackpearl/Downloads/Newfile.csv”);
CSVWriter my_csv_输出=新CSVWriter(my_csv);
while(roweiterator.hasNext()){
行=行迭代器。下一步();
int i=0;//字符串数组
字符串[]csvdata=新字符串[20];
迭代器cellIterator=row.cellIterator();
while(cellIterator.hasNext()){
Cell Cell=cellIterator.next();//获取单元格
开关(cell.getCellType()){//标识单元格类型
case Cell.Cell\u类型\u字符串:
csvdata[i]=cell.getStringCellValue();
打破
}
i=i+1;
}
my_csv_output.writeNext(csvdata);
}
System.out.println(“文件导入”);
my_csv_output.close();//关闭csv文件
input_document.close();//关闭xlsx文件
}
}
CSV代表逗号分隔的值。其实很简单。它是文本,值之间用逗号分隔(在某些版本中,用分号或其他分隔符分隔)。它基本上是一个纯文本文件,可以用文本编辑器打开和编辑。无法在该文件格式中包含格式信息。CSV代表逗号分隔的值。其实很简单。它是文本,值之间用逗号分隔(在某些版本中,用分号或其他分隔符分隔)。它基本上是一个纯文本文件,可以用文本编辑器打开和编辑。无法在该文件格式中包含格式信息。是纯文本格式。它无法存储任何格式。是纯文本格式。它无法存储任何格式。
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
}
}