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;

}

}

?>

相关文章

相关视频

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

  1. python制作表格的语句_python根据Excel自动生成创建表sql语句

    1.Excel格式截图 2.配置文件脚本 # coding:utf-8 # 表英文名 table_name = '表英文名' # 表中文名 table_comments = '表中文名' # Exce ...

  2. excel计算式自动计算_45套电气自动计算表格+计算软件!EXCEL自动生成版分享

    45套电气自动计算表格+计算软件!EXCEL自动生成版分享! 做电气工程都知道计算表格计算量有多大,不仅计算量大,而且还容易出错!因为计算细节是很多的,一不留神就有可能出错! 最重要的是,数据出错了会 ...

  3. (Java程序)Excel自动生成mysql表

    读取excel生成字段 最近项目中遇到了一个费时间的事,就花了点时间写了一个小程序来做这件事. description:现在在项目的前期设计阶段,需要从excel的数据库表格字段生成数据库,开始是手动 ...

  4. Simulink 从Excel自动生成数据字典

    Simulink中从Excel自动生成数据字典 1. Excel文件定义 2. 源码分析 2.1 概述 2.2 确定Excel和m文件名 2.2 读取excel文件 2.3 逐行提取excel数据 2 ...

  5. 利用EXCEL自动生成20以内加减法

    小学开始学计算题的时候,经常需要练习10以内加减法,20以内加减法等等,每天找题目让人比较头疼,自己写又比较耗时间,于是想着利用表格中的随机函数能不能自动生成习题.在网上找了几个方法试着弄了一下成功了 ...

  6. Excel 自动生成序号公式

    excel 自动生成序号的问题 excel 自动生成序号的问题(有些行是多行合并的)  方法是:在a1中填1  从上往下选中下面需填充的单元格,输入公式  =MAX(INDIRECT("A$ ...

  7. 用Excel自动生成工作表目录

    用Excel自动生成工作表目录,挺好的,不会的童鞋看看哦~也许能用上的~ Alt+F11---------插入--------模块--------把下面的代码拷贝到模块中,直接将程序复制过去,运行-- ...

  8. excel自动生成UUID

    excel自动生成UUID公式 =CONCATENATE(IF(RANDBETWEEN(1,2)=1,CHAR(RANDBETWEEN(0,9)+48),CHAR(RANDBETWEEN(0,5)+9 ...

  9. python自动生成和读取word_使用Python自动生成Word文档的教程

    当然要用第三方库啦 :) 使用以下命令安装: pip install python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文档 ...

最新文章

  1. SPRING3.X JSON 406 和 中文乱码问题
  2. 前嗅ForeSpider中数据采集界面介绍
  3. 【Tools】MarkDown教程(三)-MarkDown表格和公式
  4. centOS安装java
  5. Linux创始人数据结构,Linux 通用数据结构说明
  6. 遍历结果集java_java – 循环遍历while循环后如何将结果集重置为第一行
  7. Visual C#中用WMI控制远程计算机
  8. 最高月薪25K!一周收到7个15K以上的offer,他是如何做到的?
  9. python基础 day1 var、 if、while、for、with as、open用法
  10. 20190904每日一句
  11. springboot前台页面写Java代码,接收后台数据,SpringBoot整合Thymeleaf的使用,实现非ajax请求后台的数据实现和遍历效果,以及数据的页面展示
  12. 高通modem启动过程_使用QXDM收集高通modem日志
  13. Google最新算法 - 人肉搜索引擎
  14. jsonobject中getkey_获取JSON中所有的KEY
  15. 为什么要使用PPTP协议代理ip?
  16. 3d打印英语文献_3D打印合集,从设计,技术到工业制造应用!
  17. c语言用中括号括起来的变量,用大括号将寄存器名括起来是什么意思?
  18. 基于Android开发的仿网易云播放器
  19. 移动ISV大调查系列报告之四——MagicBox的游戏世界
  20. 关于区块链应用场景的思考

热门文章

  1. 数字图像处理——第四章 频率域滤波
  2. CSS3重新定义input中呆若木鸡的默认复选框CheckBox和单选框Radio样式
  3. Unity空间射击游戏开发教程
  4. Linux系统性能分析:内存 优化
  5. ceph osd 相关命令
  6. JZOJ 5461 购物 —— 贪心
  7. PDF编辑工具——PDF Desktop Converter 4 Professional
  8. java 基础---继承
  9. Android如何防止apk程序被反编译
  10. ORB-SLAM2 论文翻译