2011-02-10 3 views
1

Я пытаюсь экспортировать свой MySQL db в Excel. Я написал скрипт для форматирования текстовый файл как:Импорт в Excel с новой строкой char

$res = mysql_query("select Data1, Data2 FROM my Table"); 
while ($row = mysql_fetch_assoc($res)) { 
// Remove tabs chars 
$row["Data1"] = str_replace("\t","", $row["Data1"]); 
$row["Data2"] = str_replace("\t","", $row["Data2"]); 
// Output to file 
echo "\"" . $row["Data1"] . "\" \t \"" . $row["Data2"] . "\"\n"; 
} 

Я скопировать вывод и сохранить его в текстовый файл, который я затем импортировать в Excel, используя вкладку «» в качестве разделителя. Однако, поскольку оба поля Data1 и Data2 содержат символы новой строки, похоже, что Excel рассматривает его как новую ячейку вместо создания новой строки в текущей ячейке.

В любом случае я могу импортировать файл, так что оба поля будут иметь новые строки и все еще быть на одной ячейке?


EDIT: Даже при попытке импортировать этот простой текстовый файл:

"hello","bye 
now" 

Excel создает строку с двумя столбцами: «привет», «до свидания» - и затем новая строка с " сейчас "

Спасибо!

Joel

+0

Взгляните на [эти ответы] (http://stackoverflow.com/questions/1241220/generating-csv-file-for-excel-how-to-have-a- newline-inside-a-value) к аналогичному вопросу –

ответ

0

Почему вы не используете чистый SQL?

like

SELECT Data1, Data2 
FROM mytable 
INTO OUTFILE '/tmp/export.csv' 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
+0

Я не использую это, так как я манипулирую полями данных перед их выводом (не включил его в пример, потому что он длинный). Реальная проблема заключается в том, что Excel не импортирует новые строки должным образом (то же самое произойдет с вашим предложением). Но спасибо за эту информацию, я не знал, что это возможно с MySQL :) – Joel

+0

Это не помогает решить этот вопрос. Не настоящий ответ. – dxvargas

Смежные вопросы