php将数据库导出成excel的方法

 更新时间:2010年05月07日 22:16:14   作者:  
有时写程序时后台要求把大量数据导入数据库中,比如考试成绩、电话簿等一般都是存放在excel中的数据,这时我们可把excel导出成csv文件,然后通过以下程序即可批量导入数据到数据库中
上传cvs并导入到数据库中,测试成功(部分代码不规范,如PHP_SELF那里要改写成$_SERVER["PHP_SELF"] )
PHP代码
复制代码 代码如下:


<?php
$fname = $_FILES['MyFile']['name'];
$do = copy($_FILES['MyFile']['tmp_name'],$fname);
if ($do)
{
echo"导入数据成功<br>";
} else {
echo "";
}
?>
<form ENCTYPE="multipart/form-data" ACTION="<?php echo"".$PHP_SELF.""; ?>" METHOD="POST">
<p>导入CVS数据 <input NAME="MyFile" TYPE="file"> <input VALUE="提交" TYPE="submit">
</p>
</form>
<?
error_reporting(0);
//导入CSV格式的文件
$connect=mysql_connect("localhost","a0530093319","123456") or die("could not connect to database");
mysql_select_db("a0530093319",$connect) or die (mysql_error());
$fname = $_FILES['MyFile']['name'];
$handle=fopen("$fname","r");
while($data=fgetcsv($handle,10000,","))
{
$q="insert into test (code,name,date) values ('$data[0]','$data[1]','$data[2]')";
mysql_query($q) or die (mysql_error());

}
fclose($handle);
?>

用php将数据库导出成excel,测试完全成功
PHP代码 www.devdao.com
<?php
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "";
$DB_DBName = "ishop";
$DB_TBLName = "oi_mall_payment";

$savename = date("YmjHis");
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect.");
mysql_query("Set Names 'gbk'");
$file_type = "vnd.ms-excel";
$file_ending = "xls";
header("Content-Type: application/$file_type;charset=big5");
header("Content-Disposition: attachment; filename=".$savename.".$file_ending");
//header("Pragma: no-cache");

$now_date = date("Y-m-j H:i:s");
$title = "数据库名:$DB_DBName,数据表:$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;
elseif ($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);
?>

相关文章

  • PHP文件读写操作之文件读取方法详解

    PHP文件读写操作之文件读取方法详解

    在上一篇PHP教程中介绍了如何利用PHP实现文件读写操作中的文件写入功能,接下来和大家分享PHP文件读取功能的应用实例
    2011-01-01
  • php消息队列实现详解

    php消息队列实现详解

    消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读出。通过消息队列,应用程序可独立地执行,它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息
    2022-08-08
  • PHP数据库操作Helper类完整实例

    PHP数据库操作Helper类完整实例

    这篇文章主要介绍了PHP数据库操作Helper类,详细分析了php操作mysql的连接、增删改查及关闭连接等步骤,并给出了完整的mysql操作类Helper供大家参考,需要的朋友可以参考下
    2016-05-05
  • PHP获取汉字笔画数功能【测试可用】

    PHP获取汉字笔画数功能【测试可用】

    这篇文章主要介绍了PHP获取汉字笔画数功能,涉及PHP针对常用汉字进行数组归类与遍历、运算等相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • php抽象方法和抽象类实例分析

    php抽象方法和抽象类实例分析

    这篇文章主要介绍了php抽象方法和抽象类,结合实例形式分析了php抽象方法和抽象类的概念、功能、定义与使用方法,需要的朋友可以参考下
    2016-12-12
  • PHP获取POST数据的几种方法汇总

    PHP获取POST数据的几种方法汇总

    本文给大家汇总介绍了PHP获取POST数据的几种常用方法,这里分享给大家,有需要的小伙伴来参考下吧。
    2015-03-03
  • php学习笔记之字符串常见操作总结

    php学习笔记之字符串常见操作总结

    这篇文章主要介绍了php学习笔记之字符串常见操作,结合实例形式总结分析了php字符串的定义、单引号与双引号的用法以及常见字符串操作函数使用技巧,需要的朋友可以参考下
    2019-07-07
  • PHP面向对象程序设计之接口用法

    PHP面向对象程序设计之接口用法

    这篇文章主要介绍了PHP面向对象程序设计的接口用法,对PHP程序设计人员来说是有必要牢固掌握的概念,需要的朋友可以参考下
    2014-08-08
  • PHP提高编程效率的20个要点

    PHP提高编程效率的20个要点

    这篇文章主要介绍了PHP提高编程效率的20个要点的相关资料,需要的朋友可以参考下
    2015-09-09
  • php巧获服务器端信息

    php巧获服务器端信息

    php巧获服务器端信息...
    2006-12-12

最新评论