Ben CSV XLS dosya dönüştürme için php-excel-reader 2,21 kullanıyorum. Bunu yapmak için basit bir senaryo yazdı, ama ben unicode karakterler ile bazı sorunlar var. Bazı hücre değerleri döndürmez.
Örneğin hücre içeriğine ceník položek
ile ilgili sorunlar vardır fakat nákup
, VÝROBCE
, PÁS
, {[(4 sorun bulunmamaktadır )]}, NÁKLADNÍ
ve bazı diğerleri. Bu hücrelerde boş değer döndürür (""
).
Burada dönüşüm için kullanabileceğiniz kod parçacığını:
<?php
set_time_limit(120);
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader("cenik.xls", false, 'UTF-8');
$f = fopen('file.csv', 'w');
for($row = 1; $row <= $data->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);
?>
Hücre ve satır indeksler 1'den başlar unutmayın. Herhangi bir öneriniz?