Экспорт XLS из базы данных - PullRequest
1 голос
/ 27 марта 2020

Я успешно экспортирую XLS с кодом ниже, но кодировка UTF-8 не работает. Где я сделал что-то не так? также я всегда получаю сообщение об ошибке при открытии документа xls: формат и расширение файла не совпадают ...

$con = new mysqli($servername, $username, $password, $dbname);

$con -> set_charset("utf8");
if ($con->connect_error) {  //error check
    die("Connection failed: " . $con->connect_error);
}
else
{

}

$DB_TBLName = "form"; 
$filename = "export_dat";  //your_file_name
$file_ending = "xls";   //file_extention
$stav = $_GET['stav'];

header("Content-Type: application/xls; charset=UTF-8"); 
header('Content-Disposition: attachment; filename="export_dat.xls"');
header("Pragma: no-cache"); 
header("Expires: 0");

$sep = "\t";

$sql="SELECT pozadovanaCiastka, rodneCislo, meno, priezvisko, adresaObec, adresaUlica, adresaCislo, adresaPsc, email, telefon, pracovneZaradenie, zamestnanuOd, prijem1, prijem2, prijem3, poznamka FROM $DB_TBLName WHERE stav = '$stav'"; 
$resultt = $con->query($sql);
while ($property = mysqli_fetch_field($resultt)) { //fetch table field name
    echo $property->name."\t";
}

print("\n");    

while($row = mysqli_fetch_row($resultt))  //fetch_table_data
{
    $schema_insert = "";
    for($j=0; $j< mysqli_num_fields($resultt);$j++)
    {
        if(!isset($row[$j]))
            $schema_insert .= "NULL".$sep;
        elseif ($row[$j] != "")
            $schema_insert .= "$row[$j]".$sep;
        else
            $schema_insert .= "".$sep;
    }
    $schema_insert = str_replace($sep."$", "", $schema_insert);
    $schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
    $schema_insert .= "\t";
    print(trim($schema_insert));
    print "\n";
}
...