Znalazłem gdzieś kod, który miał to robić, ale nie działał. Trochę go poprawiłem i Excel już ładnie mi ładuje ten plik csv.
Niestety w obecnej postaci ten plik jest bezużyteczny - liczby nie zawierają przecinków, tylko kropki.
Próbowałem zmusić PHP do zmiany formatu liczb, ale wymiękłem. Może ktoś mi pomóc?
Kod
<?php
$host = 'localhost';
$user = 'admin';
$pass = 'tajne_haslo';
$db = 'nieruchomosci';
$table = 'budynki';
$file = 'bron_12-14';
$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("Can not connect.");
mysql_query('SET NAMES CP1250');
$zapytanie = "SELECT * FROM $table WHERE `ID` LIKE '5' ";
$result = mysql_query ("SHOW COLUMNS FROM ".$table."");
$i = 0;
if (mysql_num_rows($result) > 0)
{
while ($row = mysql_fetch_assoc($result))
{
$csv_output.= $row['Field'].";";
$i++;
}
}
$csv_output.= "\n";
$values = mysql_query($zapytanie);
$liczba1 = mysql_query("SELECT `Pow_Uzyt` FROM $table WHERE `ID` LIKE '5' ");
$flicz1 = number_format($liczba1, 2, ',', ' ');
while ($rowr = mysql_fetch_row($values))
{
$csv_output.= "\n";
for ($j=0;$j<$i;$j++)
{
$csv_output.= $rowr[$j].";";
$flicz1;
}
$csv_output.= ";";
}
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header("Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;
?>
$host = 'localhost';
$user = 'admin';
$pass = 'tajne_haslo';
$db = 'nieruchomosci';
$table = 'budynki';
$file = 'bron_12-14';
$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("Can not connect.");
mysql_query('SET NAMES CP1250');
$zapytanie = "SELECT * FROM $table WHERE `ID` LIKE '5' ";
$result = mysql_query ("SHOW COLUMNS FROM ".$table."");
$i = 0;
if (mysql_num_rows($result) > 0)
{
while ($row = mysql_fetch_assoc($result))
{
$csv_output.= $row['Field'].";";
$i++;
}
}
$csv_output.= "\n";
$values = mysql_query($zapytanie);
$liczba1 = mysql_query("SELECT `Pow_Uzyt` FROM $table WHERE `ID` LIKE '5' ");
$flicz1 = number_format($liczba1, 2, ',', ' ');
while ($rowr = mysql_fetch_row($values))
{
$csv_output.= "\n";
for ($j=0;$j<$i;$j++)
{
$csv_output.= $rowr[$j].";";
$flicz1;
}
$csv_output.= ";";
}
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header("Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;
?>
Kolumn z liczbami dziesiętnymi mam 6. Tutaj na razie użyłem tylko jednej `Pow_Uzyt`.