?php
周至网站建设公司创新互联,周至网站设计制作,有大型网站制作公司丰富经验。已为周至上千余家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的周至做网站的公司定做!
//需求:用php将mysql数据导入到excel中
//数据库配置信息
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "admin";
$DB_DBName = "shop";
$DB_TBLName = "sdb_widgets_set";
$savename = date("Y-m-j H:i:s");
// 数据库连接
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect.");
//注意mysql 导入cxcel中的时候
mysql_query("Set Names 'gbk'");
//定义文件导出的格式
$file_type = "vnd.ms-excel";
//定义文件后缀名称
$file_ending = "xls";
header("Content-Type: application/$file_type;charset=gbk");
header("Content-Disposition: attachment; filename=".$savename.".$file_ending");
//header("Pragma: no-cache");
$now_date = date("Y-m-j H:i:s");
//定义要输出的数据表标题
$title = "数据表名:$DB_TBLName, | 日期:$now_date";
$sql = "Select * from $DB_TBLName";
$ALT_Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database");
$result = @mysql_query($sql,$Connect) or die(mysql_error());
echo("$title/n");
//定义制表格符号
$sep = "/t";
//逐个取出数据表字段
for ($i = 0; $i mysql_num_fields($result); $i++) {
echo mysql_field_name($result,$i) . "/t";
}
print("/n");
// $i = 0;
//循环打印出数据表中的数据
while($row = mysql_fetch_row($result)) {
$schema_insert = "";
for($j=0; $j mysql_num_fields($result);$j++) {
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
else if ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert .= "/t";
print(trim($schema_insert));
print "/n";
// $i++;
}
return (true);
?
一般我们为了减少数据库链接,取数据是一次取出所有想要的数据然后做循环处理,而不是一个个循环取出
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "aaaa";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn-connect_error) {
die("连接失败: " . $conn-connect_error);
}
$conn-query('set names utf8');
$sql = "SELECT name FROM xiao ";//这里是查询xiao表的name列的所有数据
$result = $conn-query($sql);
if ($result-num_rows 0) {
// 输出数据
while($row = $result-fetch_assoc()) {
//print_r($row);
echo "name: " . $row["name"]."br";//这里是循环打印
}
} else {
echo "没有查询到数据";
}
$conn-close();
方法一:
?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
$tx='表头';
echo
$tx."\n\n";
//输出内容如下:
echo
"姓名"."\t";
echo
"年龄"."\t";
echo
"学历"."\t";
echo
"\n";
echo
"张三"."\t";
echo
"25"."\t";
echo
"本科"."\t";
?
方法二:
PHPEXCEL
类库,功能强大,支持win
Excel2003
,Win
Excel2007.下载类库,里边有例子
我就贴下我当时生成EXCEL的代码,LZ可以参照,修改,然后直接访问这个PHP文件,就会自动生成EXCEL,
?php
header('Content-type: text/html; charset=utf-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
header("Content-Disposition:filename=test.xls"); //输出的表格名称
echo "ID\t";echo "name\t\n";
//这是表格头字段 加\T就是换格,加\T\N就是结束这一行,换行的意思
$conn = mysql_connect("localhost","用户名","密码") or die("不能连接数据库");
mysql_select_db("数据库名", $conn);
mysql_query("set names 'UTF-8'");
$sql="SQL语句";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo $row[0]."\t";echo $row[1]."\t\n";
}
?
用table/table就可以了啊,然后用PHP的逐条输出数据语句相结合,你图太小,根本看不清,不过道理就是这么个道理的
看你的表格,只需要从表单中循环取出所有行,然后依次写入数据库就行了
假设表单中是:txt1[] txt2[]......
通过$a=$_POST["txt1[]"]取得值,然后循环写入:
for($t=0;$t=count($a)-1;$t++){
// insert into 表 (字段1,......) values ('$a[$t]',.....)
}
至于打印,在JS中直接windows.print就行了