php生成表格和读取,phpexcelreader读取excel自动生成表跟字段

phpexcelreader读取excel自动生成表和字段

这个主要是采用phpexcelreader的功能实现,根据excel的文件名和excel第一行生成表名及字段,数据从第二行开始依次导入。

phpexcelreader下载地址 : http://sourceforge.net/projects/phpexcelreader/

下载下来有个 “phpExcelReader.zip”的压缩包。解压,我们需要的只有 Excel 文件夹的内容,首先把 “oleread.inc” 改为 “oleread.inc.php”

修改“reader.php”文件

修改第31行 require_once 'Spreadsheet/Excel/Reader/OLERead.php';

改为 ” : require_once 'oleread.inc.php';

第 261行 =& 改为 = 号就 OK 了

源码及示例文件,以及流程都在下载文件里!

本人php新手,错误之处还请谅解。

上传文件页面!

Excel管理请上传你的excel文件:

(注:excel的格式只能是xls)

上传文件处理

0) {

switch ($_FILES ['upfile'] ['error']) {

case 1 :

$errorMsg = "上传文件超过限制!";

break;

case 2 :

$errorMsg = "上传文件超过前台指定大小!";

break;

case 3 :

$errorMsg = "上传文件不完整!";

break;

case 4 :

$errorMsg = "没有上传文件!";

break;

}

echo $errorMsg;

} else {

if (! is_dir ( 'upload' )) {

mkdir ( 'upload' );

}

//判断文件格式是否正确

$imgType = array ('application/octet-stream' ,'application/vnd.ms-excel');

if (! in_array ( $_FILES ['upfile'] ['type'], $imgType )) {

echo $_FILES ['upfile'] ['type'] . "不符合文件类型";

exit ();

}

if (is_uploaded_file ( $_FILES ['upfile'] ['tmp_name'] )) {

$toFileName = 'upload/' . $_FILES ['upfile'] ['name'];

//移动临时文件到指定文件夹

if (move_uploaded_file ( $_FILES ['upfile'] ['tmp_name'], $toFileName )) {

$excelFileName = $toFileName;

} else {

echo "文件上传失败!";

}

} else {

echo "不是上传文件!";

}

}

} else {

echo "请选择上传文件!";

}

?>

解析文件组装sql

";

$fieldCount = count($data->sheets[0]['cells'][1]);

if ($existsTable == 0) {

$sql = "create table if not exists ".$tablename." (id int primary key auto_increment,";

for ($i = 1; $i<=$fieldCount; $i++) {

if (!empty($data->sheets[0]['cells'][1][$i])) {

$sql .= $data->sheets[0]['cells'][1][$i]." varchar(255) null,";

}

}

//去掉最后一个逗号

$sql = substr($sql,0,strlen($sql)-1);

$sql .= ")";

echo "创建表sql=".$sql."

";

$query=mysql_query($sql);

if($query){

$sign = 1;

echo "创建表成功!

";

}else{

$sign = 0;

echo "创建表失败!

";

return;

}

if ($sign == 1) {

for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {

/*

print_r($data->sheets[0]['cells'][$i]);

echo "

";

*/

$sql = "insert into ".$tablename." values(null,";

for ($j = 1; $j <= count($data->sheets[0]['cells'][$i]); $j++) {

$sql .= "'".$data->sheets[0]['cells'][$i][$j]."'".",";

}

//去掉最后一个逗号

$sql = substr($sql,0,strlen($sql)-1);

$sql .= ")";

echo "插入表sql=".$sql."

";

$query = mysql_query($sql);

if($query){

echo "插入表成功!

";

}else{

echo "插入表失败!

";

break;

}

}

}

} else {

for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {

/*

print_r($data->sheets[0]['cells'][$i]);

echo "

";

*/

$sql = "insert into ".$tablename." values(null,";

for ($j = 1; $j <= count($data->sheets[0]['cells'][$i]); $j++) {

$sql .= "'".$data->sheets[0]['cells'][$i][$j]."'".",";

}

//去掉最后一个逗号

$sql = substr($sql,0,strlen($sql)-1);

$sql .= ")";

echo "插入表sql=".$sql."

";

$query = mysql_query($sql);

if($query){

echo "插入表成功!

";

}else{

echo "插入表失败!

";

break;

}

}

}

echo "";

}

function insertData(){

}

//查找是否存在表

function existsTable($tablename){

$sql="select * from ".$tablename;

$query=mysql_query($sql);

if($query){

return 1;

}else{

return 0;

}

}

?>

相关文章

相关视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值