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中的数组和JavaScript中的数组很相似,就是一系列键值对的集合。
    2011-06-06
  • php的ddos攻击解决方法

    php的ddos攻击解决方法

    这篇文章主要介绍了php的ddos攻击解决方法,实例分析了ddos攻击程序的原理与针对性的解决方法,是非常实用的技巧,需要的朋友可以参考下
    2015-01-01
  • PHP设计模式 注册表模式

    PHP设计模式 注册表模式

    注册表模式其实是一个单例模式,注册表类提供静态方法(或单例对象的实例化方法)来让其它对象访问其中的数据(通常是对象)。整个系统中的每个对象都可以访问这些数据对象
    2012-02-02
  • 介绍一些PHP判断变量的函数

    介绍一些PHP判断变量的函数

    与其他语言不同,PHP不是一种严格的类型语言。基本上,这意味着开发者在使用一个变量前,不必明确地设定这个变量的类型(数字、字符串、布尔值)。相反,PHP解释程序根据存储在变量中的信息自动探测变量的类型
    2012-04-04
  • php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载

    php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载

    php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载...
    2007-03-03
  • PHP获取类私有属性的3种方法

    PHP获取类私有属性的3种方法

    这篇文章主要介绍了PHP获取类私有属性的3种方法,帮助大家更好的理解和使用php,感兴趣的朋友可以了解下
    2020-09-09
  • 用PHP代码在网页上生成图片

    用PHP代码在网页上生成图片

    这篇文章主要介绍了用PHP代码在网页上生成图片的方法和实例,十分的简单实用,有需要的小伙伴可以参考下。
    2015-07-07
  • PHP写的加密函数,支持私人密钥(详细介绍)

    PHP写的加密函数,支持私人密钥(详细介绍)

    本篇文章是对PHP写的加密函数且支持私人密钥进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP curl 抓取AJAX异步内容示例

    PHP curl 抓取AJAX异步内容示例

    抓ajax异步内容的页面和抓普通的页面区别不大。ajax只不过是做了一次异步的http请求,下面的示例,大家可以参考下
    2014-09-09
  • PHP简单实现二维数组的矩阵转置操作示例

    PHP简单实现二维数组的矩阵转置操作示例

    这篇文章主要介绍了PHP简单实现二维数组的矩阵转置操作,涉及php针对二维数组的遍历与运算操作技巧,需要的朋友可以参考下
    2017-11-11

最新评论