當前位置:首頁 » 編程語言 » phpexcel導入mysql

phpexcel導入mysql

發布時間: 2022-07-11 10:36:52

1. php把excel導入到mysql資料庫 的代碼

1,在excel表每一行後加上=CONCATENATE("insertintotable(欄位1,欄位2,欄位n)values('",欄位1坐標,"','",欄位2坐標,"','",欄位n坐標,"');")

2,將這一列復制到文本文檔,以方便瀏覽和調試錯誤

3,使用運行sql的工具(我將他們都放到Navicat中創建查詢再運行就ok了)4,瀏覽資料庫,修改不合理的欄位及值

你把下面的這段粘到excel裡面對應的位置

=CONCATENATE("insertintokeywords(id,name,pwd)values('",坐標,"','",坐標,"','",坐標,"');")

按照你表格的排列對好,比如

最後把這一列復制到文本文檔,你會看到全是sql的插入語句;

最後用Navicat之類的工具執行這些語句就Ok了。

2. PHP讀EXCEL,再寫進MYSQL.

主要就是『php 讀取 excel』 這個步驟,
這個步驟解決了,你就可以了

php讀取.XLS的EXCEL文件,如果你想完全自己去寫的話會累死,XLS文件是一個二進制文件,讀取起來相當麻煩。

Serige 推薦用 phpExcelReader 這個第三方工具來讀,我覺得這個不夠好。
因為如果你用戶提出了 EXCEL 導入功能,肯定會提出 EXCEL 導出功能,phpExcelReader沒有導出功能。

推薦你用 PHPExcel 這個第三方控制項。

代碼給你參考下:

include_once JPATH_LIBRARIES.'/phpexcel/Classes/PHPExcel.php';
$pfx = $this->cfg->dbprefix;
if($conn==null)$conn = $this->conn();

$fileName = 'media/adquiz/GB13745.xls';
$filePath = $fileName;
$PHPExcel = new PHPExcel();
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($filePath);
$currentSheet = $PHPExcel->getSheet(0);
$allRow = $currentSheet->getHighestRow();

$sql = "drop procere if exists prcd_adquiz_init_gb13745";
mysql_query($sql,$conn);
$sql = "
create procere prcd_adquiz_init_gb13745()
begin ";
for($currentRow = 1;$currentRow<=$allRow;$currentRow++){
$sql .= "
insert into ".$pfx."adquiz_cfg
(name,value,description,source)
values
('".$currentSheet->getCell('A'.$currentRow)->getValue()."','".$currentSheet->getCell('B'.$currentRow)->getValue()."','學科分類編碼','GB13745')
;";
}
$sql .= " end";
mysql_query($sql,$conn);
$sql = "call prcd_adquiz_init_gb13745()";
mysql_query($sql,$conn);

3. excel如何導入mysql

第一步:建立資料庫和數據表(按照自己的Excel數據設立欄位)。
[sql] view plain print?
CREATE DATABASE php_excel;
USE php_excel;
CREATE TABLE IF NOT EXISTS php_excel(
id int(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
gid varchar(20) NOT NULL,
stu_no varchar(20) NOT NULL,
name varchar(45) NOT NULL,
age int(4) NOT NULL
)ENGINE=MyISAM DEFAULT CHARSET=utf8;

第二步:前台index.php文件。
[html] view plain print?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>phpexcel導入excel數據到MYSQL資料庫</title>
</head>

<body>
<form name="frm1" action="insertdb.php" method="post" enctype="multipart/form-data">
<input name="filename" type="file" />
<input name="submit" type="submit" value="import" />
</form>
</body>
</html>

第三步:向資料庫插入數據的insertdb.php文件。
[php] view plain print?
session_start();
header("Content-type:text/html;charset:utf-8");
//全局變數

$succ_result=0;
$error_result=0;
$file=$_FILES['filename'];
$max_size="2000000"; //最大文件限制(單位:byte)
$fname=$file['name'];
$ftype=strtolower(substr(strrchr($fname,'.'),1));
//文件格式
$uploadfile=$file['tmp_name'];
if($_SERVER['REQUEST_METHOD']=='POST'){
if(is_uploaded_file($uploadfile)){
if($file['size']>$max_size){
echo "Import file is too large";
exit;
}
if($ftype!='xls'){
echo "Import file type is error";
exit;
}
}else{
echo "The file is not empty!";
exit;
}
}
require("./conn.php"); //連接mysql資料庫

//調用phpexcel類庫
require_once 'PHPExcel.php';
require_once 'PHPExcel\IOFactory.php';
require_once 'PHPExcel\Reader\Excel5.php';

$objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
$objPHPExcel = $objReader->load($uploadfile);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumn = $sheet->getHighestColumn(); // 取得總列數
$arr_result=array();
$strs=array();

for($j=2;$j<=$highestRow;$j++)
{
unset($arr_result);
unset($strs);
for($k='A';$k<= $highestColumn;$k++)
{
//讀取單元格
$arr_result .= $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().',';
}
$strs=explode(",",$arr_result);
$sql="insert into php_excel(gid,stu_no,name,age) values ($strs[0],'$strs[1]','$strs[2]',$strs[3])";
echo $sql."<br/>";
mysql_query("set names utf8");
$result=mysql_query($sql) or die("執行錯誤");

$insert_num=mysql_affected_rows();
if($insert_num>0){
$succ_result+=1;
}else{
$error_result+=1;
}

}
echo "插入成功".$succ_result."條數據!!!<br>";
echo "插入失敗".$error_result."條數據!!!";

其中conn.php代碼如下:
[php] view plain print?
$mysql=mysql_connect("localhost","root","") or die("資料庫連接失敗!");
mysql_select_db("php_excel",$mysql);
mysql_query("set names utf8");

我的導入效果如下:
至此,從Excel文件讀取數據批量導入到Mysql資料庫完成。

4. 如何通過PHP實現EXCEL與MYSQL之間的導入導出

1.先介紹一下這個Excel資料庫的結構,且命名為E.xls,欄位有4個(40個也一樣搞定),欄位名為a,b,c,d,接著對jm.xls做分解:
1)選中欄位a中的全部記錄,選擇"復制"
2)新建一個Excel資料庫文件,把復制過來的數據粘貼在一個空白的欄位(通常是A)下,保證其他欄位空白,保存為a.xls
3)另存a.xls為a.txt(格式為"文本文件(製表符分隔)")
4)E.xls中其他3個欄位的數據按1到3步驟繼續生成b.txt,c.txt和d.txt。
2.完成上述步驟後,你已經完成了大部分的工作,下面就由php和mysql來完成,很簡單:
1)要把數據放在mysql中,必須建立一個mysql資料庫文件名為dbname(與php代碼中的dbname要一致),包括表tbname(與php代碼中的tbname要一致),4個欄位inc char(100),adds char(100),pri char(100),tel char(100),大小要根據Excel中欄位大小做調整,否則可能出現部分值丟失。
2)再編寫php代碼,是最主要的,代碼如下:
------txt2mysql.php---------
<?
$inc=file("a.txt");
$adds=file("b.txt");
$pri=file("c.txt");
$tel=file("d.txt");
$i=0;
mysql_connect();
while (strlen($inc[$i])>0)
{
$sql="insert into tbname values ('$inc[$i]','$adds[$i]','$pri[$i]','$tel[$i]')";
$do=mysql_db_query("dbname",$sql);
$i=$i+1;
echo '<br>';
}
$s="select * from tbname";
$gg=mysql_db_query("dbname",$s);
$n=mysql_num_rows($gg);
mysql_close();
echo '<br>';
echo "共添加了".$n."個記錄";
?>
這種方法很簡單吧!我剛試了一下挺管用的。你稍微改一下,相信能完成!
關鍵在於,如何把excel 中的數據讀取出來,導入是很簡單的事。
分別 把相應的列 另存為,相應的txt。就能得到!然後 以數組的方式讀取。

5. 用phpexcel把excel中的數據導入到MYSQL中日期發生錯誤如何解決

授之以魚不如授之以漁,我教你個思路。
步驟:
1、將一個帶有日期欄位的表導出成EXCEL文件。
2、打開EXCEL文件,查看日期的在表格中的存儲方式。
3、模仿這種存儲方式,將原來的數據修改成這種存儲方式。
4、將EXCEL進行導入MYSQL中
5、查看數據是否符合要求。
備註:可以目標表可以的日期欄位修改為varchar格式試一試。最後祝樓主工作順利。

6. 求關於php excel導入大數據到mysql的解決辦法

下載 PHPExcel

require_once('./PHPExcel/IOFactory.php');
$filePath='D:/xxx.xlsx';//excel文件名
$objReader=newPHPExcel_Reader_Excel2007();//具體查看(Documentation/Examples/Reader/exampleReader01.php)
$objPHPExcel=$objReader->load($filePath);
$sheetData=$objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
$insql='insertinto表名(x,x,x)valeus';
//遍歷數組$sheetData
//如果有標題先刪除unset($sheetData[1]);
foreach($sheetDataas$k=>$data){
$insql.='('.$data['A'].','.$data['B'].','.$data['C'].'),';
//一次插入100條數據減少資料庫壓力
if(($k+1/100)==0){
$insql=rtrim($insql,',').';';//將最後的逗號替換成分好
//插入資料庫並且重置字元串$insql
//或者保存到文件中利用source命令插入資料庫
}
}

7. 如何通過PHP將excel的數據導入MySQL中

准備工作: 下載PHP-ExcelReader,下載後用到\phpExcelReader\Excel目錄下的oleread.inc和reader.php兩個文件,並將reader.php文件打開後require_once 'Spreadsheet/Excel/Reader/OLERead.php';屏蔽掉,增加為require_once 'oleread.inc'; 然後直接將這兩個文件復制到伺服器下WAMP,直接復制到WWW目錄下,再將所需要的excel文件考進來我的文件是classify.xls,然後需要一個調用reader.php的文件,源代碼如下:
ExcelToMysql.php
<?php
require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('gbk');
$data->read('classify.xls'); //」classify.xls」是指要導入到mysql中的excel文件
@ $db = mysql_connect("localhost", "root", "") or
die("Could not connect to database.");//連接資料庫
mysql_query("set names 'gbk'");//輸出中文
mysql_select_db('japlearn'); //選擇資料庫
error_reporting(E_ALL ^ E_NOTICE);

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//以下注釋的for循環列印excel表數據

//以下代碼是將excel表數據【6個欄位】插入到mysql中,根據你的excel表欄位的多少,改寫以下代碼吧!
$sql = "INSERT INTO classify VALUES('".
$data->sheets[0]['cells'][$i][1]."','".
$data->sheets[0]['cells'][$i][2]."','".
$data->sheets[0]['cells'][$i][3]."','".
$data->sheets[0]['cells'][$i][4]."','".$data->sheets[0]['cells'][$i][5]."','".$data->sheets[0]['cells'][$i][6]."')";

echo $sql.'<br />';
$res = mysql_query($sql);
}

?>
把上面代碼注釋的地方替換成自己配置好的數據,如資料庫配置等。運行本機測試地址實現導入。

8. phpexcel導入excel到mysql,,坐等

這個嘛,需要多次調試的啊!

vendor("PHPExcel.PHPExcel");//這里是導入PHPexcl,我用的thinkphp框架!其他框架自己導入文件
$file_name=excel文件路徑;//這里是EXCEL文件路徑
$objReader=PHPExcel_IOFactory::createReader('Excel5');//不要管這行
$objPHPExcel=$objReader->load($file_name,$encode='utf-8');//把EXCEL轉化為對象
$sheet=$objPHPExcel->getSheet(0);//取得excel工作sheet;
$highestRow=$sheet->getHighestRow();//取得總行數
$highestColumn=$sheet->getHighestColumn();//取得總列數
for($i=2;$i<=$highestRow;$i++){
$data['資料庫欄位名']=$objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//ABCD.....就是excel對應的ABCDEF......
$data['資料庫欄位名']=$objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();//ABCD.....就是excel對應的ABCDEF......
$data['資料庫欄位名']=$objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();//ABCD.....就是excel對應的ABCDEF......
$data['資料庫欄位名']=$objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();//ABCD.....就是excel對應的ABCDEF......
$data['資料庫欄位名']=$objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();//ABCD.....就是excel對應的ABCDEF......
$data['資料庫欄位名']=$objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue();//ABCD.....就是excel對應的ABCDEF......
$data['資料庫欄位名']=$objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue();//ABCD.....就是excel對應的ABCDEF......
M('Users')->add($data);//thinkphp的存儲方法(具體你用什麼框架或者原生代碼,自己去insert,數據格式自己構造)
}
熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:233
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:532
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726