我正在尝试将数据从MySQL导出到xlsx,但是在我的数据库中可能有0和1而不是真实数据。 让我更好地解释一下:有一个列用于设置白天还是晚上,但白天使用0,夜晚使用1。当我使用下面的代码导出时,我得到了带有这些0和1的xlsx。
已经尝试过https://phppot.com/php/database-data-export-to-excel-file-using-php/和https://artisansweb.net/how-to-export-mysql-database-data-to-excel-using-php/之类的东西,但我只是无法在发送前编辑xlsx的内容
$filename = "Export_excel.xls";
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=\"$filename\"");
$isPrintHeader = false;
if (! empty($productResult)) {
foreach ($productResult as $row) {
if (! $isPrintHeader) {
echo implode("\t", array_keys($row)) . "\n";
$isPrintHeader = true;
}
echo implode("\t", array_values($row)) . "\n";
}
}
当代码看到为零时,我想将其设置为“ day”
答案 0 :(得分:0)
如果您只想显示特定字段。
选择id,名称(例如,table_column = 0 THEN'day',而table_column = 1 THEN'night'END的情况)作为your_table中的table_column
输出外观:
id名称table_column
1天卢卡斯
答案 1 :(得分:0)
首先,您的脚本创建一个制表符分隔的纯文本,其中Excel为mime-type。 这不是真正的Excel文件,可以为您带来意想不到的结果。
如果要创建真实的Excel文件,请使用类似PHPSpreadsheet的文件。
尽管如此,您仍可以像他的注释中推荐的Saji那样更改您的SQL查询,也可以在foreach语句中执行以下操作:
if($row['header_name'] == 0){
$row['header_name'] = 'day';
}else{
$row['header_name'] = 'night';
}
请注意,您必须在数组中使用键,而不是在脚本中也用作列名的'header_name'。