我正在尝试使用以下代码为我的动态查询生成Excel文件。
$cname = $_POST["cname"];
$cnote = $_POST["cnote"];
$ccondition = $_POST['sql'];
$crange = $_POST['start'] . "-" . $_POST['end'];
$sql_query = $ccondition;
$filename = "export".date('Ymd') . ".xls";
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment; filename=\"$filename\"");
$show_coloumn = false;
$resultset = mysqli_query($mysqli, $sql_query) or die("database error:". mysqli_error($mysqli));
$rowcount=mysqli_num_rows($resultset);
$developer_records = array();
while( $rows = mysqli_fetch_assoc($resultset) ) {
$developer_records[] = $rows;
}
if(!empty($developer_records)) {
foreach($developer_records as $record) {
if(!$show_coloumn) {
echo implode("\t", array_keys($record)) . "\n";
$show_coloumn = true;
}
echo implode("\t", array_values($record)) . "\n";
}
}
我面临两个问题。 1)当我尝试在excel 2016中打开它时,出现如下所示的错误,但是当我按Yes时,它打开了文件。 2)我导出的每个excel文件在标题行之前的顶部都有两个空白行,我不知道它来自何处以及如何修复它。
我已经搜索了很多,但是没有找到任何可行的解决方案。让我知道是否有人可以帮助我解决问题。谢谢