Excel, как xml. Генерим, получаем "кривой файл".

iSlayter

Новичок
Excel, как xml. Генерим, получаем "кривой файл".

Есть xls шаблон накладной. Сохранил его как xml.

Нашел место где идут ряды с инфой, которые нужно генерить.

На этом месте вырезал контент для дальнейшей забивки его в цикл. На этом месте оставил [ROWSHERE].

После замены этого места офис ругался на некорректную структуру таблицы. Порылся в файлике - нашел место где хранится общее число рядов и ячеек. Обозначил его как [ROWCOUNT].

Далее - генерим инфу для записи, заменяем [ROWSHERE] и [ROWCOUNT] на нашу инфу:
PHP:
		foreach ($_POST['place'] as $key => $value) {
			$coordinates = explode('.',$value);
			$x   = $coordinates[0];
			$y   = $coordinates[1];
			$i++;
			$rowshere .= "<Row ss:AutoFitHeight=\"0\" ss:Height=\"38.25\" ss:StyleID=\"s96\">\n
<Cell ss:Index=\"2\" ss:StyleID=\"s92\"><Data ss:Type=\"String\">' . $i . '</Data></Cell>\n
<Cell ss:MergeAcross=\"1\" ss:StyleID=\"m21540904\"><Data ss:Type=\"String\">Бла_бла_бла</Data></Cell>\n
<Cell ss:StyleID=\"s103\"><Data ss:Type=\"String\">шт</Data></Cell>\n
<Cell ss:StyleID=\"s103\"><Data ss:Type=\"String\">1</Data></Cell>\n
<Cell ss:StyleID=\"s103\"><Data ss:Type=\"String\">500</Data></Cell>\n
<Cell ss:StyleID=\"s103\"><Data ss:Type=\"String\">500</Data></Cell>\n
</Row>\n";
		}
		$output = str_replace( "[ROWCOUNT]",31+$countofrows, $output );
		$output = str_replace( "[ROWSHERE]",$rowshere, $output);
НО! При открытии сгенеренного т.о. файла Excel опять ругается!
Пробовал и с \n между строками и без него.
Пробовал, потому что в результате научно технического втыка было установлено - если открыть файл через блокнот и ручками поставить переносы строк - о чудо! он открывается!

И ещё проблема - если пытаться вставить в Excel что-то русское - оно не вставляется. Там либо точки либо просто пустота.
iconv($from, $to, string) как понимаю надо сделать. Вопрос какое значение должна принять $to?

Спасибо за внимание.

-~{}~ 23.07.07 15:54:

да, вот сами файлы:
http://mudak.cn/journal/docs/with_error.xls
и
http://mudak.cn/journal/docs/without_error.xls
 

AmdY

Пью пиво
Команда форума
а с кодировкой у тебя всё нормально?
 

Wicked

Новичок
могу сказать, что оба документа -- well-formed.

Excel, имхо, ругается на \n вместо \r\n.
 

iSlayter

Новичок
AmdY, ну так вот я и попытался узнать - в какую кодировку надо было кирилический текст переводить дабы он в Экселе был нормально виден.

Wicked, в итоге загнал в rtf :(

Спасибо за участие!
 
Сверху