phpexcel導入mysql的簡單介紹

本文目錄一覽:

excel內容導入mysql,請教excel內容的生成保存格式

方法很多,不過建議你先看看mysql的開發文檔,裡面寫的很詳細的,如果你懶得看,可以看下面的

1.有個軟體phpexcelparserprov4.2可以,你可以在這裡下載:

2.可將excel存成csv格式。然後通過phpmyadmin倒入mysql

3.先導入access中,再弄到mysql中,或者自己寫程序讀出excel中數據然後存入mysql中

4.還有一個比較笨的手工方法,就是先利用excel生成sql語句,然後再到mysql中運行,這種方法適用於excel表格導入到各類sql資料庫:

一、假設你的表格有a、b、c三列數據,希望導入到你的資料庫中表格table,對應的欄位分別是col1、col2、col3

二、在你的表格中增加一列,利用excel的公式自動生成sql語句,具體方法如下:

1、增加一列(假設是d列)

2、在第一行的d列,就是d1中輸入公式:

=concatenate(“insertintotable(col1,col2,col3)values(‘”,a1,”‘,'”,b1,”‘,'”,c1,”‘);”)

3、此時d1已經生成了如下的sql語句:

insertintotable(col1,col2,col3)values(‘a’,’11’,’33’);

4、將d1的公式複製到所有行的d列(就是用滑鼠點住d1單元格的右下角一直拖拽下去啦)

5、此時d列已經生成了所有的sql語句

6、把d列複製到一個純文本文件中,假設為sql.txt

三、把sql.txt放到資料庫中運行即可,你可以用命令行導入,也可以用phpadmin運行。

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

從excel取出數據再倒入到mysql,可以借用phpexcel插件,如果數據多建議用導入導出用csv

PHPExcel如何從excel表導入到mysql資料庫

這是我寫過的,絕對能用,不行你再找我!!

?php

if($_POST[sub]){

$uptypes=array(‘application/vnd.ms-excel’,’application/octet-stream’);

$max_file_szie=20*pow(2,20); //上傳的文件小於20MB

$destination_folder=’../conn/’; //上傳文件保存路徑

if($_SERVER[‘REQUEST_METHOD’]==’POST’){

if(!is_uploaded_file($_FILES[‘upfile’][‘tmp_name’])){

exit(“script alert(‘文件不存在!’);history.back();/script”);

}

if($max_file_szie$_FILES[‘upfile’][‘size’]){

exit(“script alert(‘文件太大了!’);history.back();/script”);

}

if(!in_array($_FILES[‘upfile’][‘type’],$uptypes)){

echo ‘文件類型不符合!’.$_FILES[‘upfile’][‘type’];

exit(“script alert(‘文件類型不符合!’);history.back();/script”);

}

if(!file_exists($destination_folder)){

mkdir($destination_folder);

}

$filename=$_FILES[‘upfile’][‘tmp_name’];

$image_size=getimagesize($filename);

$pinfo=pathinfo($_FILES[‘upfile’][‘name’]); //文件路徑信息

$ftype=$pinfo[‘extension’]; //舊文件後綴名

$destination = $destination_folder.$_FILES[‘upfile’][‘name’]; //新文件名稱

if(file_exists($destination)$voerwrie !=true){

exit(“script alert(‘同名文件已經存在了!’);history.back();/script”);

}

//把上傳的文件從臨時文件夾移動到指定目錄

if(!move_uploaded_file($filename,$destination)){

exit(“script alert(‘移動文件出錯了!’);history.back();/script”);

}

$pinfo=pathinfo($destination);

$fname=$pinfo[basename];

$tpfile=$destination;//上傳文件名

//———–上傳成功,導入數據star—–

$dataf=$tpfile;

if(!file_exists($dataf))

{

exit(“文件不存在”); //文件不存在

}

$file = fopen(“$dataf”,’r’);

while ($d = fgetcsv($file)) { //每次讀取CSV裡面的一行內容

//print_r($d); //此為一個數組,要獲得每一個數據,訪問數組下標即可

$type=”`uid`=’$d[0]’ name=’$d[1]'”;

$dsql=dbst($tableqz.message2,$type);

if(!$dsql){

$uid=trim($d[0]); //編號

$name=trim($d[1]); //客戶名稱

$type=”(`uid`, `username`, `password`) VALUES (NULL, ‘$uid’, ‘$name’);”;

dbin(hh_members,$type);

}

}

fclose($file);

unlink(“$dataf”);

}

//—上傳end

exit(“script alert(‘成功導入了所有數據!’);history.back();/script”);

}

?

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

授之以魚不如授之以漁,我教你個思路。

步驟:

1、將一個帶有日期欄位的表導出成EXCEL文件。

2、打開EXCEL文件,查看日期的在表格中的存儲方式。

3、模仿這種存儲方式,將原來的數據修改成這種存儲方式。

4、將EXCEL進行導入MYSQL中

5、查看數據是否符合要求。

備註:可以目標表可以的日期欄位修改為varchar格式試一試。最後祝樓主工作順利。

原生PHP代碼實現excel導入,並添加數據到資料庫.

我用的代碼是:

?

//連接資料庫文件

$connect=mysql_connect(“localhost”,”admin”,”admin”) or die(“鏈接資料庫失敗!”);

//連接資料庫(test)

mysql_select_db(“testcg”,$connect) or die (mysql_error());

$temp=file(“test.csv”);//連接EXCEL文件,格式為了.csv

for ($i=0;$i count($temp);$i++)

{

$string=explode(“,”,$temp[$i]);//通過循環得到EXCEL文件中每行記錄的值

//將EXCEL文件中每行記錄的值插入到資料庫中

$q=”insert into ceshi (name,num,dom) values(‘$string[0]’,’$string[1]’,’$string[2]’);”;

mysql_query($q) or die (mysql_error());

if (!mysql_error());

{

echo ” 成功導入數據!”;

}

echo $string[4].”\n”;

unset($string);

}

?

——————————————————————————–

phpexcel或者pear的一個組件 ,國內有一個excelclass的插件

都是用來處理excel的,前2個功能都比較強大,對編碼的支持也都不錯,推薦使用pear的那個,名字好像叫spreadsheet reader

phpexcel比較費資源,不過並不是所有的excel都能讀取

樓主可以到這裡去看看 pear.php.net

——————————————————————————–

頂樓上的回答~~順便接個分!嘿嘿

——————————————————————————–

AdO直接上傳

注意有些字元mysql或ADO可能不支持

——————————————————————————–

首先確認你的資料庫是什麼編碼的,以utf-8為例,

你首先打開excel 文件,然後保存,選擇為另存為.csv文件。

然後用文本編輯器打開.csv文件,另存為utf-8的csv

然後你寫php 可以使用php 的getcsv 打開(這樣確保你有的欄位中含有,而導致解析錯誤),然後把解析的結果導入到資料庫中。

然後完了。

excel如何導入mysql

第一步:建立資料庫和數據表(按照自己的Excel數據設立欄位)。

[sql] view plain copy 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 copy print?

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”

html xmlns=””

head

meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /

titlephpexcel導入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 copy 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_num0){

$succ_result+=1;

}else{

$error_result+=1;

}

}

echo “插入成功”.$succ_result.”條數據!!!br”;

echo “插入失敗”.$error_result.”條數據!!!”;

其中conn.php代碼如下:

[php] view plain copy print?

$mysql=mysql_connect(“localhost”,”root”,””) or die(“資料庫連接失敗!”);

mysql_select_db(“php_excel”,$mysql);

mysql_query(“set names utf8”);

我的導入效果如下:

至此,從Excel文件讀取數據批量導入到Mysql資料庫完成。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/306112.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 12:00
下一篇 2025-01-02 12:00

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智慧,Python都扮演著重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論