t***o 发帖数: 1353 | 1 窜门问个技术问题
data要用php从database export成csv file.有些varchar格式的数据要combine成一个
多行的column输出。
要把 $name, $address合成
David Smith
123 Main Street
应该如何写?
试过 "$name\n$address", $name.chr(10).$address都不行。 |
g**t 发帖数: 1872 | |
t***o 发帖数: 1353 | 3 manually写php script.
【在 g**t 的大作中提到】 : 你用什么? sed?
|
g**t 发帖数: 1872 | 4 我不写php,这个google就应该能找到答案吧,试过\r吗? |
t***o 发帖数: 1353 | 5 试过, 不行。 Google了, 说用chr(10), chr(13).都不行。 没有看到现成的例子。
这个大概不分script, google了一个asp的, 说“fist\nsecond". 我试了也不行, 所
以,才来问的
【在 g**t 的大作中提到】 : 我不写php,这个google就应该能找到答案吧,试过\r吗?
|
g**t 发帖数: 1872 | |
t***o 发帖数: 1353 | 7 这个不行, 就是用$name.' '.$address也不行, excel不能解释html tag 会
被原样显示出来
【在 g**t 的大作中提到】 : 有看过这个吗? : http://php.net/manual/en/function.nl2br.php
|
F**e 发帖数: 593 | 8 this seems to be the same question you asked:
http://stackoverflow.com/questions/4025831/creating-carriage-returns-in-csv-cell-via-php
【在 t***o 的大作中提到】 : 这个不行, 就是用$name.' '.$address也不行, excel不能解释html tag 会 : 被原样显示出来
|
s*******e 发帖数: 4188 | 9 关键是CSV里用什么当line break
from wiki:
Fields with embedded line breaks must be enclosed within double-quote
characters.
1997,Ford,E350,"Go get one now
they are going fast"
|
t***o 发帖数: 1353 | 10 如果是一条record结束, 下一条开始,用的是"\n".所以, 我用“\r", 没有任何变
化, $name 和$address会连着被输出。 如果用'\r'。 这个字符会原样被输出。
【在 s*******e 的大作中提到】 : 关键是CSV里用什么当line break : from wiki: : Fields with embedded line breaks must be enclosed within double-quote : characters. : 1997,Ford,E350,"Go get one now : they are going fast" :
|
|
|
Z*****l 发帖数: 14069 | 11 Chr(10)应该可以,说不行可能因为CSV在Excel里面打开时,永远只有该格的第一行显
示出来,所以看上去好像没成功,其实点那格就可以看见是分行的。
【在 t***o 的大作中提到】 : 试过, 不行。 Google了, 说用chr(10), chr(13).都不行。 没有看到现成的例子。 : 这个大概不分script, google了一个asp的, 说“fist\nsecond". 我试了也不行, 所 : 以,才来问的
|
t***o 发帖数: 1353 | 12 没有更完美的解决方法? 这样的产品会被客户complain的
【在 Z*****l 的大作中提到】 : Chr(10)应该可以,说不行可能因为CSV在Excel里面打开时,永远只有该格的第一行显 : 示出来,所以看上去好像没成功,其实点那格就可以看见是分行的。
|
Z*****l 发帖数: 14069 | 13 这是CSV不带格式信息的天生缺陷,所以CSV只适合DATA DUMP,这样有格式要求的EXCEL
报表不建议使用CSV,而是使用EXCEL自己的文件类型。
PHP TO EXCEL
http://pear.php.net/manual/en/package.fileformats.spreadsheet-e
【在 t***o 的大作中提到】 : 没有更完美的解决方法? 这样的产品会被客户complain的
|
Z*****l 发帖数: 14069 | 14 来不及了临时可以手工处理,用EXCEL打开CSV文件,点左上角选全部,然后双击第一行
和第二行的分隔线。结果要保存成EXCEL格式。 |
b**********y 发帖数: 144 | |
s***0 发帖数: 1106 | 16 "line1 \n line2"
大概只能这样了,确实是2行,打开只看到一行是显示的问题。
【在 t***o 的大作中提到】 : 没有更完美的解决方法? 这样的产品会被客户complain的
|
b**********y 发帖数: 144 | 17 不是都说了吗,同时按ALT和ENTER就可以换行,不信可以试一下 |
s*******e 发帖数: 4188 | 18 你再仔细看一下问题吧
【在 b**********y 的大作中提到】 : 不是都说了吗,同时按ALT和ENTER就可以换行,不信可以试一下
|
b**********y 发帖数: 144 | |