亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

PHPExcel如何將excel文件導入MySQL數據庫?

請問將excel導入mysql數據庫怎么導呢?/(ㄒoㄒ)/~~

而且只導入excel表的部分列,有些列的數據是不需要導入的,請問怎么做啊?大神請指教!

正在回答

3 回答

改為另外一個方法咯。

import.php

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;?
}?
}

?

$dir=dirname(__FILE__);//查找當前腳本所在路徑
require?$dir."/db.php";//引入mysql操作類文件
$db=new?db($link);//實例化db類?連接數據庫
require_once?$dir."/PHPExcel/PHPExcel.php";//引入PHPExcel
require_once?$dir."/PHPExcel/PHPExcel/IOFactory.php";
require_once?$dir."/PHPExcel/PHPExcel/Reader/Excel5.php";
//stackoverflow?方法
$objReader?=?PHPExcel_IOFactory::createReader('Excel5');
$objReader->setReadDataOnly(true);
$objPHPExcel?=?$objReader->load($uploadfile);?
$objWorksheet?=?$objPHPExcel->getActiveSheet();
$highestRow?=?$objWorksheet->getHighestRow();?
$highestColumn?=?$objWorksheet->getHighestColumn();?
$highestColumnIndex?=?PHPExcel_Cell::columnIndexFromString($highestColumn);?
$rows?=?array();
for?($row?=?2;?$row?<=?$highestRow;?++$row)?{
for?($col?=?0;?$col?<=?$highestColumnIndex;?++$col)?{
$rows[$col]?=?mysql_real_escape_string($objWorksheet->getCellByColumnAndRow($col,?$row)->getValue());
}
//print_r($rows);
mysql_query("set?names?utf8");
mysql_query("INSERT?INTO?`user`(username,class,score)?
VALUES?('$rows[0]',$rows[1],$rows[2])")or?die("執行錯誤");
?$insert_num=mysql_affected_rows();
?if($insert_num>0){
$succ_result+=1;
}else{
$error_result+=1;
??}
}
echo?"插入成功".$succ_result."條數據?。。?lt;br>";
echo?"插入失敗".$error_result."條數據?。?!";


0 回復 有任何疑惑可以回復我~

昨天還能插入兩行,今天就只能插入一行,這是為什么呢/(ㄒoㄒ)/~~

0 回復 有任何疑惑可以回復我~

自己解決了,我寫了一個import.php和import.html,其中的db和dbconfig請參考Veo老師《PHPHExcel的探索之旅課程》

import.html代碼

<!DOCTYPE?html>
<html><head><meta?http-equiv="Content-Type"?content="text/html";?charset="UTF-8">

<meta?name="viewport"?content="width=device-width,?initial-scale=1.0,?minimum-scale=1.0?,?maximum-scale=1.0,?user-scalable=0">
<title>Excel導入phpMyAdmin數據庫</title>
<form?name="frm1"?enctype="multipart/form-data"?action="import.php"?method="post">
???<input?name="filename"?type="file"?/><input?name="submit"?type="submit"?value="導入數據庫"?/>
</form>

import.php代碼

<?php
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;?
		?}?
	?}
	?
	$dir=dirname(__FILE__);//查找當前腳本所在路徑
	require?$dir."/db.php";//引入mysql操作類文件
	$db=new?db($phpexcel);//實例化db類?連接數據庫
	
	require_once?$dir."/PHPExcel/PHPExcel.php";//引入PHPExcel
	require_once?$dir."/PHPExcel/PHPExcel/IOFactory.php";
	require_once?$dir."/PHPExcel/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);
	?//echo?$strs[0];exit;
	?$sql="insert?into?`user`(username,score,class)?values?('$strs[0]',$strs[1],$strs[2])";
	?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."條數據?。?!";

其中的phpexcel類庫的路徑根據自己的改,數據庫配置你另外寫也可以。insert into 語句根據你自己的情況自己寫。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

PHPExcel如何將excel文件導入MySQL數據庫?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號