教程向(全代码在文末)
我实在是太懒了,所以一直拖到现在才更新,后续几天,坚持日更
本教程将给大家提供一种简单的利用PHP将数据库数据导出到excel表格的方法,不用外接excel拓展
首先来看功能演示gif
其实这个原理很简单,就是利用PHP里面的header() 函数向客户端发送原始的 HTTP 报头,把网页改为excel格式就好了,代码如下:
header('Content-type: text/html; charset=utf-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
header("Content-Disposition:filename=admindata_".$time.".xls");//在这里设置文件名修改'admindata'将其换成你想要的文件名,后面的time变量会在文件名的后面加上一串时间,如果不想要,删除' _".$time." '即可
包括文件名也在这里设置,按照注释进行修改就行了
这个文件首先就是建立与MySQL的链接:
//建立数据库连接;
$conn=mysqli_connect("数据库地址","数据库用户名","数据库密码","数据库名");
//设置字符为utf-8,@抑制字符变量的声明提醒。
@ mysqli_set_charset ($conn,utf8);
@ mysqli_query($conn,utf8);
//如果连接错误显示错误原因。
if (mysqli_connect_errno($conn))
{
echo "连接 MySQL 失败: " . mysqli_connect_error();
}
一个很简单的MySQLi函数利用
之后查询出数据库中的所有数据:
$result=mysqli_query($conn,"SELECT * FROM 数据表名");
可以根据需要的不同来进行更改
后面就是主要的数据操作,其实和html建立表格差不多:
echo "<table>";//建立表格
echo "后台管理员信息";//第一行标题
echo "</table>";//第一行结束
echo "<table>";//第二行开始
echo "<tr>";//下面就是依照数据表中有的内容进行设置
echo "<th>ID</th>";
echo "<th>用户名</th>";
echo "<th>QQ</th>";
echo "<th>性别</th>";
echo "<th>真实姓名</th>";
echo "<th>邮箱</th>";
echo "<th>电话号码</th>";
echo "</tr>";//如果有更多的数据,可以继续依照上面格式进行添加
echo "</table>";//第二行结束
while($row=mysqli_fetch_array($result)){//循环为变量赋值及输出数据
/*这里进行数据分离,将数据表中的数据一一对应向不同data变量赋值*/
$data1 = $row["ID"];
$data2 = $row["username"];
$data4 = $row["QQ"];
$data5 = $row["sex"];
$data6 = $row["truename"];
$data7 = $row["email"];
$data8 = $row["tel"];
echo "<table>";//下面为表格的数据内容,注意这里的变量data*要与第二行设置相对应
echo "<tr>";
echo "<td>$data1</td>";
echo "<td>$data2</td>";
echo "<td>$data4</td>";
echo "<td>$data5</td>";
echo "<td>$data6</td>";
echo "<td>$data7</td>";
echo "<td>$data8</td>";
echo "</tr>";
echo "</table>";
}
具体内容及相关修改操作可以看注释
当你把这些都配置完之后就可以直接访问这个php文件,然后会自动弹出下载框
完全代码:
<?php
//建立数据库连接;
$conn=mysqli_connect("数据库地址","数据库用户名","数据库密码","数据库名");
//设置字符为utf-8,@抑制字符变量的声明提醒。
@ mysqli_set_charset ($conn,utf8);
@ mysqli_query($conn,utf8);
//如果连接错误显示错误原因。
if (mysqli_connect_errno($conn))
{
echo "连接 MySQL 失败: " . mysqli_connect_error();
}
$time=date('YmdHis', time());
ob_end_clean();
header('Content-type: text/html; charset=utf-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
header("Content-Disposition:filename=admindata_".$time.".xls");//在这里设置文件名修改'admindata'将其换成你想要的文件名,后面的time变量会在文件名的后面加上一串时间,如果不想要,删除' _".$time." '即可
$result=mysqli_query($conn,"SELECT * FROM 数据表名");
echo "<table>";//建立表格
echo "后台管理员信息";//第一行标题
echo "</table>";//第一行结束
echo "<table>";//第二行开始
echo "<tr>";//下面就是依照数据表中有的内容进行设置
echo "<th>ID</th>";
echo "<th>用户名</th>";
echo "<th>QQ</th>";
echo "<th>性别</th>";
echo "<th>真实姓名</th>";
echo "<th>邮箱</th>";
echo "<th>电话号码</th>";
echo "</tr>";//如果有更多的数据,可以继续依照上面格式进行添加
echo "</table>";//第二行结束
while($row=mysqli_fetch_array($result)){//循环为变量赋值及输出数据
/*这里进行数据分离,将数据表中的数据一一对应向不同data变量赋值*/
$data1 = $row["ID"];
$data2 = $row["username"];
$data4 = $row["QQ"];
$data5 = $row["sex"];
$data6 = $row["truename"];
$data7 = $row["email"];
$data8 = $row["tel"];
echo "<table>";//下面为表格的数据内容,注意这里的变量data*要与第二行设置相对应
echo "<tr>";
echo "<td>$data1</td>";
echo "<td>$data2</td>";
echo "<td>$data4</td>";
echo "<td>$data5</td>";
echo "<td>$data6</td>";
echo "<td>$data7</td>";
echo "<td>$data8</td>";
echo "</tr>";
echo "</table>";
}
?>
有问题的话,邮箱联系哦 admin@wpbkj.com