PHP批量导入excell表格到mysql数据库

PHP批量导入excell表格到mysql数据库,本人通过亲自测试,在这里分享给大家

1,下载 php  excell类库

网上搜索可以下载,这里不写地址

2,建html文件

<form method="post" action="http://www.96net.com.cn/index.php?c=good&a=index" name="theForm" onsubmit="return validate()" enctype="multipart/form-data">
<table cellspacing="1" cellpadding="3" width="100%">

<tr>
<td class="label">请选择你要上传的EXCELL:</td>
<td>excell下载模板</td>
</tr>

<tr>
<td class="label">请选择你要上传的excell:</td>
<td><input type="file" name="myfile"></td>
</tr>

<tr>
<td colspan="2" align="center"><br />
<input type="submit" class="button" value="提交" />
</td>
</tr>

</table>
</form>

3,php代码写入

//批量上传操作
function upExecel(){

//判断是否选择了要上传的表格
if (empty($_POST[‘myfile‘])) {
echo "<script>alert(您未选择表格);history.go(-1);</script>";
}

$file_size = $_FILES[‘myfile‘][‘size‘];
if ($file_size>5*1024*1024) {
echo "<script>alert(‘上传失败,上传的表格不能超过5M的大小‘);history.go(-1);</script>";
exit();
}

//限制上传表格类型
$file_type = $_FILES[‘myfile‘][‘type‘];
//application/vnd.ms-excel 为xls文件类型
//if ($file_type!=‘application/vnd.ms-excel‘) {
//echo "<script>alert(‘上传失败,只能上传excel2003的xls格式!‘);history.go(-1)</script>";
//exit();
//}

if (is_uploaded_file($_FILES[‘myfile‘][‘tmp_name‘])) {

if ($file_type=="application/vnd.ms-excel")
{
$objReader = PHPExcel_IOFactory::createReader(‘Excel5‘);
}

else
{
$objReader = PHPExcel_IOFactory::createReader(‘Excel2007‘);
}
$filename = $_FILES[‘myfile‘][‘tmp_name‘];
$objPHPExcel = $objReader->load($filename);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();

for($j=2;$j<=$highestRow;$j++)
{
$a = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();
$b = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();
$c = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();
$d = $objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();
$e = $objPHPExcel->getActiveSheet()->getCell("E".$j)->getValue();
$f = $objPHPExcel->getActiveSheet()->getCell("F".$j)->getValue();
$g = $objPHPExcel->getActiveSheet()->getCell("G".$j)->getValue();
$h = $objPHPExcel->getActiveSheet()->getCell("H".$j)->getValue();

//null 为主键id,自增可用null表示自动添加
//$sql = "INSERT INTO house VALUES(null,‘$a‘,‘$b‘,‘$c‘,‘$d‘,‘$e‘,‘$f‘,‘$g‘,‘$h‘)";

$newrow = array(
‘title‘ => $c,
‘pid‘ => $b,
‘huohao‘ => $a,
‘guige‘ => $d,
‘price‘ => $e,
‘huoc‘ => $f,
‘wendu‘ => $g,
‘zbq‘ => $h,
‘content‘ => $content,
‘upfile‘ => ‘/upload/12.jpg‘,
‘add_time‘ => time(),
);

$row=spClass(‘goods_list‘)->create($newrow);

if ($row){
echo "<script>alert(‘添加成功!‘);window.location.href=‘http://www.96net.com.cn/index.php?c=goods&a=index‘;</script>";

}else{
echo "<script>alert(‘添加失败!‘);window.location.href=‘http://www.96net.com.cn/index.php?c=goods&a=ppaddpage‘;</script>";
exit();
}

}

}
}

需要注意是:xls文件  用 $objReader = PHPExcel_IOFactory::createReader(‘Excel5‘);  xlsx文件  用 $objReader = PHPExcel_IOFactory::createReader(‘Excel2007‘);

原文地址:https://www.cnblogs.com/96net/p/11517950.html

时间: 2024-07-29 17:51:21

PHP批量导入excell表格到mysql数据库的相关文章

导入日志文件到mysql数据库表

#!/bin/bash #**************************************************************************** #***将/usr/local/data/目录下每天的日志,导入数据库 #***导入某一天数据: ./load2mysql.sh 20140101 #***导入某一段时间数据: ./load2mysql.sh 20140101 20140110 #***不传参数默认导入昨天的数据: ./load2mysql.sh #*

MYSQL数据库导入sql的时候报错:[Err] 1046 - No database selected

今天把之前其它电脑导出的sql,导入本机的MySQL数据库时候出现了报错.原因是没有先新建数据库就直接的导入. 解决方式:先新建数据库:test_db,再右键运行批处理文件.

MySQL数据库导入或者同步大量数据时数据丢失解决方案

相信大家都经常遇到这样的情况,我们在编码的过程中经常需要在调试代码的时候切换到本地的数据库上做修改调试,如果当测试数据库的数据在几十万或者上百万数据的时候,我们无论是通过恢复备份/导入SQL的方式来把数据导入到本地的MySQL数据库的时候,数据都是无法导入完成的,经常会遇到丢失数据的情况.解决方案: 解决方案:在mysql的配置文件my.ini的文件中新增以下3个配置选项: 1.wait_timeout=2880000 2.interactive_time=2880000 3.max_allow

MySQL数据库InnoDB引擎下服务器断电数据恢复

说明: 线上的一台MySQL数据库服务器突然断电,造成系统故障无法启动,重新安装系统后,找到之前的MySQL数据库文件夹. 问题: 通过复制文件的方式对之前的MySQL数据库进行恢复,发现在程序调用时找不到数据库中的表,造成网站无法正常访问. 分析: 1.MySQL数据库,使用拷贝文件方式来恢复数据库,只支持MyISAM引擎: 2.如果有数据库或数据表使用了InnoDB引擎,恢复的时候,必须连同MySQL数据库目录下的ibdata1文件一起拷贝过来. 解决办法: 1.停止MySQL服务 serv

一分钟在云端快速创建MySQL数据库实例

本教程将帮助您了解如何使用Azure管理门户迅速创建,连接,配置MySQL 数据库 on Azure.完成本教程后,您将在Azure上拥有一个示例MySQL数据库服务器,并了解如何使用管理门户执行基本管理任务. 步骤一:登陆Azure管理门户,创建MySQL服务器 登陆到Azure 管理门户, 在右侧导航条选中MySQL 数据库 on Azure. 单击页面底部的"新建",单击"新建"后,屏幕上将会出现一个显示可创建内容的列表. 单击"MySQL 数据库

C#语言将 mysql数据库表格导入excel的函数

private void DataTabletoExcel(System.Data.DataTable tmpDataTable, string strFileName) { if (tmpDataTable == null) { return; } int rowNum = tmpDataTable.Rows.Count;//行 int columnNum = tmpDataTable.Columns.Count;//列 int rowIndex = 1;//行 int columnIndex

使用java技术将Excel表格内容导入mysql数据库

1.添加POI jar包到项目的lib目录下­2.Excel文件目录:d://excel.xls­3.数据库字段为:num1 num2 num3 num4 num5 num6­4.数据库名:blog­5.表名:test­6.编写类:连接mysql的字符串方法.插入的方法.实体类­­. import java.io.FileInputStream;­ import java.io.FileNotFoundException;­ import java.io.IOException;­ import

【MySQL笔记】Excel数据导入Mysql数据库的实现方法——Navicat

很多公司尤其有点年头的公司,财务业务部门的各种表单都是excel来做的表格,随着互联网的发展各种业务流程都电子化流程化了,再在茫茫多的文档中去查找某一个年份月份的报告是件相当枯燥的事,所以都在想办法将以前的数据直接导入现代智能化的办公程序道中,在这里可能很多初级程序员都会有些挠头不知所措,下面来介绍下我的小经验,希望能为大家提供便利! 工具/原料 首先做一下说明,为什么我要用Navicat,第一个原因,因为它是个不错的Mysql GUI工具,更重要的是,它可以将一些外部数据源导入Mysql数据库

Mysql批量导入多个时间的SQL

#!/usr/bin/env python import osimport commandsimport time import sys def SqlOrder(SqlDir):    sqlfile={}    for i in os.popen('ls %s'%SqlDir).readlines():          sqlfile[i] = i.split('-')[1]    sqlfile1=[]    for i in sorted(sqlfile.items(),key=lam