php將數(shù)據(jù)庫(kù)導(dǎo)出成excel的方法
更新時(shí)間:2010年05月07日 22:16:14 作者:
有時(shí)寫程序時(shí)后臺(tái)要求把大量數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)中,比如考試成績(jī)、電話簿等一般都是存放在excel中的數(shù)據(jù),這時(shí)我們可把excel導(dǎo)出成csv文件,然后通過(guò)以下程序即可批量導(dǎo)入數(shù)據(jù)到數(shù)據(jù)庫(kù)中
上傳cvs并導(dǎo)入到數(shù)據(jù)庫(kù)中,測(cè)試成功(部分代碼不規(guī)范,如PHP_SELF那里要改寫成$_SERVER["PHP_SELF"] )
PHP代碼
<?php
$fname = $_FILES['MyFile']['name'];
$do = copy($_FILES['MyFile']['tmp_name'],$fname);
if ($do)
{
echo"導(dǎo)入數(shù)據(jù)成功<br>";
} else {
echo "";
}
?>
<form ENCTYPE="multipart/form-data" ACTION="<?php echo"".$PHP_SELF.""; ?>" METHOD="POST">
<p>導(dǎo)入CVS數(shù)據(jù) <input NAME="MyFile" TYPE="file"> <input VALUE="提交" TYPE="submit">
</p>
</form>
<?
error_reporting(0);
//導(dǎo)入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將數(shù)據(jù)庫(kù)導(dǎo)出成excel,測(cè)試完全成功
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 = "數(shù)據(jù)庫(kù)名:$DB_DBName,數(shù)據(jù)表:$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代碼
復(fù)制代碼 代碼如下:
<?php
$fname = $_FILES['MyFile']['name'];
$do = copy($_FILES['MyFile']['tmp_name'],$fname);
if ($do)
{
echo"導(dǎo)入數(shù)據(jù)成功<br>";
} else {
echo "";
}
?>
<form ENCTYPE="multipart/form-data" ACTION="<?php echo"".$PHP_SELF.""; ?>" METHOD="POST">
<p>導(dǎo)入CVS數(shù)據(jù) <input NAME="MyFile" TYPE="file"> <input VALUE="提交" TYPE="submit">
</p>
</form>
<?
error_reporting(0);
//導(dǎo)入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將數(shù)據(jù)庫(kù)導(dǎo)出成excel,測(cè)試完全成功
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 = "數(shù)據(jù)庫(kù)名:$DB_DBName,數(shù)據(jù)表:$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);
?>
您可能感興趣的文章:
- 利用phpExcel實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)入導(dǎo)出(全步驟詳細(xì)解析)
- php導(dǎo)入導(dǎo)出excel實(shí)例
- php中導(dǎo)出數(shù)據(jù)到excel時(shí)數(shù)字變?yōu)榭茖W(xué)計(jì)數(shù)的解決方法
- 使用PHPExcel實(shí)現(xiàn)數(shù)據(jù)批量導(dǎo)出為excel表格的方法(必看)
- php把數(shù)據(jù)表導(dǎo)出為Excel表的最簡(jiǎn)單、最快的方法(不用插件)
- PHP實(shí)現(xiàn)導(dǎo)出帶樣式的Excel
- php導(dǎo)出excel格式數(shù)據(jù)問(wèn)題
- php導(dǎo)出word文檔與excel電子表格的簡(jiǎn)單示例代碼
- php原生導(dǎo)出excel文件的兩種方法(推薦)
- PHP將Excel導(dǎo)入數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出至Excel的方法
- php中通用的excel導(dǎo)出方法實(shí)例
- php 自定義函數(shù)實(shí)現(xiàn)將數(shù)據(jù) 以excel 表格形式導(dǎo)出示例
相關(guān)文章
PHP數(shù)據(jù)庫(kù)操作Helper類完整實(shí)例
這篇文章主要介紹了PHP數(shù)據(jù)庫(kù)操作Helper類,詳細(xì)分析了php操作mysql的連接、增刪改查及關(guān)閉連接等步驟,并給出了完整的mysql操作類Helper供大家參考,需要的朋友可以參考下2016-05-05php學(xué)習(xí)筆記之字符串常見(jiàn)操作總結(jié)
這篇文章主要介紹了php學(xué)習(xí)筆記之字符串常見(jiàn)操作,結(jié)合實(shí)例形式總結(jié)分析了php字符串的定義、單引號(hào)與雙引號(hào)的用法以及常見(jiàn)字符串操作函數(shù)使用技巧,需要的朋友可以參考下2019-07-07