本文目錄一覽:
- 1、excel內容導入mysql,請教excel內容的生成保存格式
- 2、如何通過PHP將excel的數據導入MySQL中
- 3、PHPExcel如何從excel表導入到mysql數據庫
- 4、用phpexcel把excel中的數據導入到MYSQL中日期發生錯誤如何解決
- 5、原生PHP代碼實現excel導入,並添加數據到數據庫.
- 6、excel如何導入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-hant/n/306112.html