Я использую php-excel-reader 2.21 для преобразования файла XLS в CSV. Я написал для этого простой скрипт, но у меня есть проблемы с символами Юникода. Он не возвращает значения из некоторых ячеек.
Например, у него нет проблем с содержимым ячеек ceník položek
, но есть проблемы с nákup
, VÝROBCE
, PÁS
, HRUBÝ
, NÁKLADNÍ
и некоторые другие. В этих ячейках он возвращает пустое значение ( ""
).
Вот фрагмент кода, который я использую для преобразования:
rowcount(); $row++)
{
$out = '';
for($col = 1; $col <= $data->colcount(); $col++)
{
$val = $data->val($row,$col);
// escape " and \ characters inside the cell
$escaped = preg_replace(array('#”#u', '#\\\\#u', '#[”"]#u'), array('"', '\\\\\\\\', '\"'), $val);
if(empty($val))
$out .= ',';
else
$out .= '"' . $escaped . '",';
}
// remove last comma (,)
fwrite($f, substr($out, 0, -1));
fwrite($f, "\n");
}
fclose($f);
?>
Обратите внимание, что индексы ячеек и строк начинаются с 1. Есть предложения?