繁体   English   中英

将逗号分隔的数字写入一个单元格

[英]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在最后一列使用货币格式器时,可以强制该列的文本类型。

将文本限定符放在用逗号分隔的字符串周围,然后导入该文件即可。

如果值被分割,请确保在第一个逗号之后没有空格 (如您的示例中所示)。

我将添加一些示例

CSV文件的内容

abc,"10001,10002,10003"

使用旧版向导导入

在此处输入图片说明

第2步

在此处输入图片说明

第三步

在此处输入图片说明

在工作表上

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM