首页 > php开发 > php 导入excel文件mysql数据库方法

php 导入excel文件mysql数据库方法

应该说介绍了利用phpexcel插件来实现数据库的导入与导入功能,本文章主要是告诉你把excel导入到mysql数据库的方法.

先下载,下载phpexcel文件,地址:phpexcel.codeplex.com/

在reader.php文件中找到以下类似代码,第一行既是,改成正确的oleread.php路径即可:require_once 'oleread.php';然后新建一个php文件引入reader.php,代码如下:

<?php  
require_once 'Excel/reader.php';  
$data = new Spreadsheet_Excel_Reader(); 
$data->setOutputEncoding('gbk');//此处设置编码,一般都是gbk模式 
 
$data->read('Book1.xls');//文件路径 
 
error_reporting(E_ALL ^ E_NOTICE); 
//这里我就只循环输出excel文件的内容了,要入库,只要把输出的地方,写一段mysql语句即可~ 
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) { 
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) { 
echo """.$data->sheets[0]['cells'][$i][$j]."","; 
} 
echo "\n"; 
} 
?>

代码示例如下:

<?php
require_once 'phpexcel/Classes/PHPExcel.php';
require_once 'phpexcel/Classes/PHPExcel/IOFactory.php';
require_once 'phpexcel/Classes/PHPExcel/Reader/Excel5.php';
$objReader = PHPExcel_IOFactory::createReader('Excel5'); //use excel2007 for 2007 format
$objPHPExcel = $objReader->load($filename); //$filename可以是上传的文件,或者是指定的文件
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$k = 0;
//循环读取excel文件,读取一条,插入一条
for ($j = 2; $j <= $highestRow; $j++) {
    $a = $objPHPExcel->getActiveSheet()->getCell("A" . $j)->getValue(); //获取A列的值
    $b = $objPHPExcel->getActiveSheet()->getCell("B" . $j)->getValue(); //获取B列的值
    $sql = "INSERT INTO table VALUES(" . $a . "," . $b . ")";
    mysql_query($sql);
}
代码实例cvs导入到数据库, 把csv导入到数据库, 代码如下:
function getmicrotime() {
list($usec, $sec) = explode("   ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = getmicrotime();
include ("connectdb.php");
function insert_data($id, $summary, $description, $additional_information, $category) {
$my_query1 = "insert   into   mantis_bug_text_table   (id,description,additional_information)      
   
  values   ('$id','$description','$additional_information')";
$first = mysql_query($my_query1);
$my_query2 = "insert   into   mantis_bug_table   (id,project_id,summary,bug_text_id)   values   ('$id','$category','$summary','$id')";
$second = mysql_query($my_query2);
return;
}
$fp = fopen("test.csv", "r");
while ($data = fgetcsv($fp, '1000', ',')) {
//开源代码phprm.com
insert_data($data[0], $data[1], $data[2], $data[3], $data[4]);
echo "<font   color   =   #ff0000   size   =   20>数据导入成功!</font><br><br>";
}
fclose($fp);
$time_end = getmicrotime();
$time = $time_end - $time_start;
echo "程序执行时间:" . $time . "秒";


文章链接:http://www.phprm.com/develop/fs5316.html

随便收藏,请保留本文地址!

标签:mysql数据库 php导入excel

相关文章

发表留言