Codice PHP:
function xlsBOF2() {return pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);}
function xlsEOF2() {return pack("ss", 0x0A, 0x00);}
function xlsWriteNumber2($Row, $Col, $Value) {$c = pack("sssss", 0x203, 14, $Row, $Col, 0x0); $c .= pack("d", $Value); return $c;}
function xlsWriteLabel2($Row, $Col, $Value ) {$L = strlen($Value);$c = pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
$c .= $Value; return $c;}
$fp = fopen("filedioutput.xls", "wb+");
fwrite($fp, xlsBOF2());
$file = file("filechedevoleggereetradurre.xls");
for($j = 0; $j < count($file); $j++)
{
$riga = explode("\t", $file[$j]);
for($i = 0; $i < count($riga); $i++)
{
$riga[$i] = str_replace("\n\r", "", $riga[$i]);
$riga[$i] = str_replace("\r\n", "", $riga[$i]);
if(($i == 1 || $i == 2 || $i == 4 || $i == 5 || $i == 6) && $j > 0)
fwrite($fp, xlsWriteLabel2($j, $i, $riga[$i]));
elseif($j == 0)
fwrite($fp, xlsWriteLabel2($j, $i, $riga[$i]));
else
fwrite($fp, xlsWriteNumber2($j, $i, $riga[$i]));
#xlsWriteLabel($j, $i, $riga[$i]);
}
}
fwrite($fp, xlsEOF2());
fclose($fp);
l'if all'interno del secondo for serve solo per distinguere le colonne che deve scrivere le lettere da quelle che deve scrivere in numero