java - Excel 在生成的 CSV 文件中未正确显示欧元符号

标签 java jquery excel spring csv

我正在使用 Web 应用程序,需要生成 CSV 文件。 CSV 文件包含欧元价格,例如 140 €但是当我打开 CSV 文件时,Excel 无法正确显示欧元符号 140 € .

我从Oracle数据库读取数据,将CSV文件内容存储在List<String>中并将结果写入 HttpServletResponse response就像

List<String> data = getCsvContent();
response.getOutPutStream().write(data.toString().getBytes("UTF-8")); 

我在 Windows 7、MS Office 2010 中工作,我想知道是否有任何方法可以告诉 Excel 以 UTF-8 编码打开此文件?我尝试添加BOM但没有效果。

请帮我解决这个问题,提前致谢

编辑:

我正在使用 AJAX 调用来下载文件,在下载文件之前,我将 BOM 添加到结果中。当我通过双击 Excel 打开文件时,在开发环境(本地)中正确打开 CSV,但是当我在远程服务器中部署应用程序时,csv 文件中的欧元符号未正确写入,这意味着 Excel 无法显示该符号正确。

谁能告诉我问题出在哪里吗?

最佳答案

我也遇到了同样的问题。 您可以通过以下方式导入它:

  1. 创建一个新的 Excel 工作表。
  2. 转到数据 --> 从文本,如下图所示(德语 Excel 版本)

enter image description here

  • 在弹出窗口中将文件来源设置为 Unicode (UTF-8)。
  • 点击“下一步”并根据您的 .csv 文件设置分隔符。(很可能是逗号)
  • 单击“下一步”查看您的所有专栏。 您可以为每个列设置特定的数据格式(例如日期、文本...)
  • 完成向导,它应该可以工作。

    关于java - Excel 在生成的 CSV 文件中未正确显示欧元符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58975586/

    相关文章:

    javascript - 检查元素是否是父元素的子元素

    jQuery 选择并过滤 <option> 的内容

    python -\t 用于 excel 粘贴到新单元格

    vba - 转置 CopyFromRecordset Excel VBA

    java - WSO2 api 管理器不传播多部分表单数据的内容类型 header

    Java 分页列表

    java - Project Reactor - 如何按窗口处理结果

    javascript - h1 标签不随 bootstrap 改变颜色

    excel - 为什么 Range.Find() 方法如此令人困惑?

    java - 从 Java Applet 获取 PDF 文件