我使用Java代码生成CSV文件,标题字段为UserName,AccountNumbers。现在,对于AccountNumber标题字段,我需要在onc单元格中以逗号分隔显示所有帐号。
离。 abc, 10001,10002,10003
现在,当我在Excel中打开生成的CSV文件时,帐号无法正常显示,并且该单元格值被视为数字,默认情况下,在Excel中打开时会应用数字格式。
我申请了以下解决方案:
1)用双引号括起逗号分隔的列表 即" 10001,10002,10003" - 没用 2)将逗号分隔列表包装在" ="" list""" 即" ="" 10001,10002,10003""" - 这个包装的问题在于,对于某些列表,它工作正常,但对于某些人来说,我得到了#34; =出现在列表的开头。 即某些列表已被视为文本格式(不确定原因)
HttpServletResponse response = this.getPortalPageContext().getResponse();
response.setContentType("text/csv");
response.setHeader("Content-Disposition", "attachment;filename=user_search_export.csv");
response.setHeader("Pragma", "public");
response.setHeader("Cache-Control", "cache");
response.setHeader("Cache-Control", "must-revalidate");
Writer out = response.getWriter();
StringBuffer tmp = new StringBuffer();
tmp.append("UserName");
tmp.append("Accounts");
out.write(tmp.toString());
out.write("\r\n");
StringBuffer tmp = new StringBuffer();
String accountNo = "10001,10002,10003";
tmp.append("abc");
tmp.append("\"=\"\"" + accountNo + "\"\"\"");
out.write(tmp.toString());
out.write("\r\n");
由于