gpt4 book ai didi

php - 如何将mysql表数据导出到excel 2007

转载 作者:行者123 更新时间:2023-11-29 14:16:46 25 4
gpt4 key购买 nike

我想将数据从 mysql 表导出到 Excel 工作表。我正在使用 excel 2007。曾经这段代码工作正常,但今天我遇到了问题。请指导我哪里做错了。我有大约 60,000 行的大量数据。

<?php
/*
Export MySQL to Excel using PHP & HTML tables
Author: Vlatko Zdrale, http://blog.zemoon.com

Look but don't touch :)
*/
include "mysql_connection.php";
//$dbTable = 'info'; // table name
$con=open_db_connection();


$sql = "select info_id, name, category_list.category, company_name, company_address, company_phone, date from info, city_list, category_list where city=cid and info.category=id";
$result = @mysql_query($sql) or die("Couldn't execute query:<br>".mysql_error().'<br>'.mysql_errno());

header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); //define header info for browser
header('Content-Disposition:attachment; filename=information-'.date('Ymd').'.xlsx');
header('Pragma: no-cache');
header('Expires: 0');

echo '<table><tr>';
for ($i = 0; $i < mysql_num_fields($result); $i++) // show column names as names of MySQL fields
echo '<th>'.mysql_field_name($result, $i).'</th>';
print('</tr>');

while($row = mysql_fetch_row($result))
{
//set_time_limit(60); // you can enable this if you have lot of data
$output = '<tr >';
for($j=0; $j<mysql_num_fields($result); $j++)
{
if(!isset($row[$j]))
$output .= '<td>&nbsp;</td>';
else
$output .= "<td>$row[$j]</td>";
}
print(trim($output))."</tr>\t\n";
}
echo('</table>');
?>

这非常重要,请指导我。提前致谢。

最佳答案

您将收到该消息,因为该文件不是 OfficeOpenXML xlsx 文件,而是包含带有 .xlsx 扩展名的 HTML 标记的文件。您告诉 Excel 该文件的扩展名是一种格式,但实际上它是另一种格式,并且它让您知道内容与扩展名不匹配。只要它可以干净地读取 HTML 标记,它仍然应该成功加载,但总是会发出此消息。

最新版本的 Excel 比早期版本对此更加挑剔。

如果您想删除该消息,则可以将 .xlsx 重命名为 .html 文件,以便扩展名与内容匹配(然后需要导入到 Excel 中,或者修改文件关联,以便 html文件使用 Excel 打开);或者给它一个带有 csv 扩展名的制表符分隔值文件(可以通过双击打开),但您无法使用此选项添加任何格式;或者给它一个真正的 OfficeOpenXML .xlsx 文件

关于php - 如何将mysql表数据导出到excel 2007,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12526363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com