php-excel-okuyucu - UTF-8 ile sorun

0 Cevap php

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?

0 Cevap