专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java导出csv兼容wps和office(java实现导出csv文件)

temp10 2024-11-05 11:51:11 java教程 12 ℃ 0 评论

最近使用Java导出csv格式数据,导出完成后使用wps打开数据显示完全正常,但是在微软的office的word下导出则在头部显示乱码。

代码如下所示:

Java导出csv兼容wps和office(java实现导出csv文件)

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内导出

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表