本文讲的只是excel下打开csv,不保证其他阅读器打开能正常工作。
CSV用逗号隔开数据,用换行符产生一行一行的数据, 逗号就是第一个特殊字符,如果数据内容中出现了逗号,就要用半角双引把数据内容包起来,所以比如数据是 xilang,yan, 就要改成 "xilang,yan"。第二个特殊字符就是引号:",数据中如果有引号,就要换成两个引号,比如xilang"yan要转义为xilang""yan。
好了,说正题,如果数据是存数字,并且第一个是0, 在excel下不会显示出来,解决方法就是,先用引号把数据包起来,再在数据前加一等号,比如:0123456就变成="0123456"。但是这种解决方法有限,如果自己内容很长的话,也不能正确显示,不过还好,正常情况下,数字应该不会很长。
所以写csv,简单的方法
if(数据为存数字){
用引号包起来,再加上=号
}else{
把"替换为"",用"包起数据
}
例如:
0123456->="0123456"
1.0123456->"1.0123456"
xilang,yan->"xilang,yan"
xi"lang,yan->"xi""lang,yan"
CSV用逗号隔开数据,用换行符产生一行一行的数据, 逗号就是第一个特殊字符,如果数据内容中出现了逗号,就要用半角双引把数据内容包起来,所以比如数据是 xilang,yan, 就要改成 "xilang,yan"。第二个特殊字符就是引号:",数据中如果有引号,就要换成两个引号,比如xilang"yan要转义为xilang""yan。
好了,说正题,如果数据是存数字,并且第一个是0, 在excel下不会显示出来,解决方法就是,先用引号把数据包起来,再在数据前加一等号,比如:0123456就变成="0123456"。但是这种解决方法有限,如果自己内容很长的话,也不能正确显示,不过还好,正常情况下,数字应该不会很长。
所以写csv,简单的方法
if(数据为存数字){
用引号包起来,再加上=号
}else{
把"替换为"",用"包起数据
}
例如:
0123456->="0123456"
1.0123456->"1.0123456"
xilang,yan->"xilang,yan"
xi"lang,yan->"xi""lang,yan"