PHP将mysql数据导入Excel表中

有时写程序时后台要求把大量数据导入数据库中,比如考试成绩、电话簿等一般都是存放在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将mysql数据表转换为excel文件格式
  <?php  $DB_Server = "localhost";  $DB_Username = "mydowns";  $DB_Password = "";  $DB_DBName = "mydowns";  $DB_TBLName = "user";  $Connect = @mysql_connect($DB_Server, $DB_Username, ...查看完整版>>用PHP将mysql数据表转换为excel文件格式
 
MySQL实现表中取出随机数据
  以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。  SELECT * FROM table_name ORDER ...查看完整版>>MySQL实现表中取出随机数据
 
MySQL实现表中取出随机数据
  以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。    SELECT * FROM table_name OR...查看完整版>>MySQL实现表中取出随机数据
 
关于DataGrid 数据导入Excel乱码
当导数据到Excel 中时有时会出现乱码原来代码 private static void WriteToExcelFromDataGrid(DataGrid dg, string fileName) { //StringWriter tw = new StringWriter(new CultureInfo( "zh-CHS", false)); S...查看完整版>>关于DataGrid 数据导入Excel乱码
 
把Excel表中数据导入数据库
这是第二次了,市场部那边又来要求改数据。他们要改的是数据库某张表中类似商品价格等的数据,需要改的地方又多,我们上次是靠新来的兄弟一个个给Update进去的,这次老大去教了他们Update语句,把烦人的皮球踢给他们...查看完整版>>把Excel表中数据导入数据库