php导入excel文件到mysql数据库的方法
投稿:shichen2014
这篇文章主要介绍了php导入excel文件到mysql数据库的方法,分析了phpexcel类操作excel文件的技巧及导入数据库的方法,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了php导入excel文件到mysql数据库的方法。分享给大家供大家参考。具体分析如下:
php导入excel文件入mysql数据库我们是需一借助一个phpexcel类文件了,有了这个类文件我们就可以快速简单的导入excel到mysql数据库中,这里就来举个例子给大家说明一下具体用法.
导入前我们需要先准备一个数据库,sql语句代码如下:
复制代码 代码如下:
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50133
Source Host : localhost:3306
Source Database : test
Target Server Type : MYSQL
Target Server Version : 50133
File Encoding : 65001
Date: 2011-10-11 14:11:38
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `execl`
-- ----------------------------
DROP TABLE IF EXISTS `execl`;
CREATE TABLE `execl` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of execl
-- ----------------------------
INSERT INTO `execl` VALUES ('14', 'jim');
INSERT INTO `execl` VALUES ('15', 'taurus');
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50133
Source Host : localhost:3306
Source Database : test
Target Server Type : MYSQL
Target Server Version : 50133
File Encoding : 65001
Date: 2011-10-11 14:11:38
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `execl`
-- ----------------------------
DROP TABLE IF EXISTS `execl`;
CREATE TABLE `execl` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of execl
-- ----------------------------
INSERT INTO `execl` VALUES ('14', 'jim');
INSERT INTO `execl` VALUES ('15', 'taurus');
php处理程序,在这里我们需要使用一个phpexcel类文件了,这个可以百度搜索下载,代码如下:
复制代码 代码如下:
<?php
if($_FILES['execl']['name']){
$db = mysql_connect('localhost','root','');
mysql_select_db('test');
mysql_query('set names gbk');
require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP936');
$data->read($_FILES['execl']['name']);
error_reporting(E_ALL ^ E_NOTICE);
$sql = "";
for($i=1;$i<=$data->sheets[0]['numRows'];$i++)
{
if($data->sheets[0]['cells'][$i][1]!=""){
$sql = "INSERT INTO `execl`(`name`)values('".$data->sheets[0]['cells'][$i][2]."');";
if(mysql_query($sql)){
echo '成功';
}else{
die('失败');
}
}
}
}
?>
<head>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="execl" />
<input type="submit" value="导入数据" />
</form>
</body>
if($_FILES['execl']['name']){
$db = mysql_connect('localhost','root','');
mysql_select_db('test');
mysql_query('set names gbk');
require_once 'reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP936');
$data->read($_FILES['execl']['name']);
error_reporting(E_ALL ^ E_NOTICE);
$sql = "";
for($i=1;$i<=$data->sheets[0]['numRows'];$i++)
{
if($data->sheets[0]['cells'][$i][1]!=""){
$sql = "INSERT INTO `execl`(`name`)values('".$data->sheets[0]['cells'][$i][2]."');";
if(mysql_query($sql)){
echo '成功';
}else{
die('失败');
}
}
}
}
?>
<head>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="execl" />
<input type="submit" value="导入数据" />
</form>
</body>
希望本文所述对大家的php程序设计有所帮助。