разрыв строки в данных для Excel 2003 - PullRequest
1 голос
/ 14 октября 2011

Использование PHP для извлечения данных из SQL, а затем создание файла .csv на сервере для отправки по электронной почте / загрузки с помощью fputcsv. Все работает хорошо, кроме попыток получить новую строку в поле в Excel (2003).

Я получаю Product1Product2Product3 в клетку, когда мне нужно

Product1
Product2
Product3

Я пробовал одинарные кавычки, двойные кавычки, CRs, LFs, и я быстро исчезаю из-за собственной задней стороны.

Итак, вопрос в том, какого персонажа мне нужно получить в CSV-файле, чтобы добиться этого?

Должно работать в Excel

[Решение] - проблема заключалась где-то в передаче \ r \ n в Excel через PHP fputcsv - я не смог добиться этого каким-либо способом (достаточно добавить желаемый \ r \ n к моим фактическим данным ячейки, например, Product1 \ r \ n) Предложение использовать $ lfcr = chr (10). CHR (13); работал в первый раз. Я предполагаю, что это был скорее вопрос PHP, чем вопроса Excel - благодаря всем откликам.

Ответы [ 2 ]

6 голосов
/ 14 октября 2011

Это скорее вопрос Excel, а не вопрос php.То, что вы положили в файл csv, должно быть понятно Excel, поэтому \ r \ n не будет работать.

Используйте это

$lfcr = chr(10) . chr(13);

Затем добавьте $lfcr в конецкаждая строка.

1 голос
/ 14 октября 2011

для разрывов строк в поле в csv-файле вам просто нужно заключить поле в двойные кавычки и добавить =, как в следующем примере.Сам перевод строки может быть либо \r\n, либо просто \n:

id;product;price
1;iMac;2.99
2;="product
with
linebreaks";1.99
3;Bananaphone;999.99
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...