我写了以下代码:
CSVFormat csvFileFormat = CSVFormat.DEFAULT.withRecordSeparator("n").withEscape('\');
FileWriter fileWriter = new FileWriter(csvFile);
CSVPrinter csvFilePrinter = new CSVPrinter(fileWriter,csvFileFormat);
function printCSV(String fieldValue,String dataType,CSVPrinter csvFilePrinter){
if(dataType!=null && "date".equals(dataType)){
fieldValue = this.dateFormatter.format(new SimpleDateFormat("yyyy-MM-dd").parse(fieldValue));
}
csvFilePrinter.printRecord(fieldValue);
}
在 Excel 工作表中打开 csv 文件时,只有少数单元格具有日期格式。我不想格式化日期,并希望将所有单元格视为字符串。我该怎么做?
printCSV(..)
方法中的if
块设置日期格式。您可以将其删除:
function printCSV(String fieldValue, String dataType, CSVPrinter csvFilePrinter)
{
csvFilePrinter.printRecord(fieldValue);
}
而且,如您所见,您可以删除printCSV(..)
方法并直接使用csvFilePrinter.printRecord(fieldValue);
如果您希望Excel将所有单元格视为字符串,而不是自动格式化日期,以便您拥有自己的格式" yyyy-MM-dd",则应查看此内容