首页 > 编程知识 正文

phpexcel导入mysql的简单介绍

时间:2023-12-28 21:10:56 阅读:328919 作者:NVQI

本文目录一览:

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 'PHPExcelIOFactory.php';

require_once 'PHPExcelReaderExcel5.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数据库完成。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。