akxxiv
Новичок
Глюк при экспорте таблицы в эксель
Доброе время суток.
Ни кто не наблюдал такую штуку? Рисую таблицу с данными и отдаю ее с заголовками Excel, кодировку ставлю windows-1251, однако если в ячейках присутствует дата в формате "d.m.Y" или "d.m.Y H:i", то ИНОГДА эксель сам меняет кодировку на въетнамскую windows-1258 и естественно вся кириллица выводится кракозябрами.
Т.е.
Все данные в кодировке windows-1251. Но при этом Эксель воспринимает как windows-1258. Если убрать вывод всехдат,то все выводится в нормальной кодировке.
Кто-нибудь знает как это лечится?
Доброе время суток.
Ни кто не наблюдал такую штуку? Рисую таблицу с данными и отдаю ее с заголовками Excel, кодировку ставлю windows-1251, однако если в ячейках присутствует дата в формате "d.m.Y" или "d.m.Y H:i", то ИНОГДА эксель сам меняет кодировку на въетнамскую windows-1258 и естественно вся кириллица выводится кракозябрами.
Т.е.
PHP:
<?
header("Content-Type: application/x-msexcel; charset=windows-1251; format=attachment;");
header("Content-Disposition: attachment; filename=export.xls" );
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; windows-1251" />
</head>
<body>
<table cellpadding="3" cellspacing="0" border="1">
<tr>
<th>п/п</th>
<th>Номер</th>
<th>Дата приезда план.</th>
<th>Дата приезда факт.</th>
<th>Дата загрузки план.</th>
<th>Дата загрузки факт.</th>
<th>Дата отгрузки план.</th>
<th>Дата отгрузки факт.</th>
<th>Маршрут следования</th>
<th>Экспедитор</th>
<th>Статус</th>
</tr>
<? if( ! empty($rows) ): ?>
<? foreach( $rows as $k=>$v ): ?>
<tr>
<td><?=$k+1 ?></td>
<td><?=$v['id'] ?></td>
<td><?=date("d-m-Y H:i", strtotime($v['date_come_plan'])) ?></td>
<td><?=date("d-m-Y H:i", strtotime($v['date_come_real'])) ?></td>
<td><?=date("d-m-Y H:i", strtotime($v['date_loading_plan'])) ?></td>
<td><?=date("d-m-Y H:i", strtotime($v['date_loading_real'])) ?></td>
<td><?=date("d-m-Y H:i", strtotime($v['date_shipping_plan'])) ?></td>
<td><?=date("d-m-Y H:i", strtotime($v['date_shipping'])) ?></td>
<td><?=join("; ", $v['way']['names']) ?></td>
<td><?=$v['np_name'] ?></td>
<td><?=$v['status'] ?></td>
</tr>
<? endforeach ?>
<? endif ?>
</table>
</body>
</html>
Кто-нибудь знает как это лечится?