[英]Writing comma separated numbers into one cell
我正在使用Java代码生成标头字段为UserName,AccountNumbers的CSV文件。 现在,对于AccountNumber标头字段,我需要将所有帐号显示为仅用onc单元格逗号分隔。
例如 abc, 10001,10002,10003
现在,当我在excel中打开生成的CSV文件时,帐号无法正确显示,并且该单元格值被视为Number,默认情况下,在excel中打开时会应用Number格式。
我应用了以下解决方案:
1)将逗号分隔的列表用双引号引起来,即“ 10001,10002,10003”-不起作用; 2)将逗号分隔的列表包装在“ =”“ list”“”中,即“ =”“ 10001,10002,10003” “”-这种包装的问题是,对于某些列表来说,它可以正常工作,但是对于某些列表,我会在列表的开头出现“ =”。即,某些列表已被视为文本格式(不确定原因)
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");
谢谢
为什么不使用其他分隔符作为单元格分隔符,如“;”。 在excel的导入向导中,您可以选择此分隔符作为单元格分隔符。 当excel在最后一列使用货币格式器时,可以强制该列的文本类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.