Java导出csv兼容wps和office(Java导出csv兼容wps和office)
Java导出csv兼容wps和office(Java导出csv兼容wps和office)通过Java导出csv适合百万级以下数据,如果要导出百万级以上数据,请参考Java通过clickhouse-client导出csv,百万数据3s内导出
最近使用Java导出csv格式数据,导出完成后使用wps打开数据显示完全正常,但是在微软的office的word下导出则在头部显示乱码。
代码如下所示:
private void buildStatCsv(List<DwsAccessEntity> list String folder) {
long currentTime = System.currentTimeMillis();
String FileName = currentTime ".csv";
File file = new File(folder fileName);
try (FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter osWriter = new OutputStreamWriter(fos StandardCharsets.UTF_8);
BufferedWriter bw = new BufferedWriter(osWriter 1024)) {
// 写header
bw.write("统计时间 用户 访问次数");
for(DwsAccessEntity item: list) {
String line = item.getStartTime() " " entity.getUserName() " " entity.getAccessCount();
bw.rrite(line "\r");
}
} catch(Exception e) {
log.error("write csv error");
}
}
为了解决在微软下的乱码显示问题,加入以下代码
重新运行项目,点击下载导出,在wps和office下导出的csv文件都能正常显示出csv的头部信息,不会再显示出乱码。
通过Java导出csv适合百万级以下数据,如果要导出百万级以上数据,请参考
Java通过clickhouse-client导出csv,百万数据3s内导出