首页 php教程 php手册 如何通过PHP将excel的数据导入MySQL中

如何通过PHP将excel的数据导入MySQL中

Jun 06, 2016 pm 07:59 PM
excel mysql php 使用 如何 导入 数据 通过

p hp使用phpExcelReader导入excel的方法 phpExcelReader是专门用来读取文件的。返回一个数组,包含表的所有内容。 该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。 有几点要需要注意: 1、reader.php 中:将 require_once 'Spreadsheet/E

php使用phpExcelReader导入excel的方法  

phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。


该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。


有几点要需要注意:


1、reader.php 中:将 require_once 'Spreadsheet/Excel/Reader/OLERead.php';改为 require_once 'oleread.inc';


2、example.php 中:修改 $data->setOutputEncoding('CP1251');为 $data->setOutputEncoding('CP936');或者是$data->setOutputEncoding('gbk');


3、修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));


不然中文会有问题。


繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。


===========================================================
require_once 'excel/reader.php'; 
$data = new Spreadsheet_Excel_Reader(); 
$data->setOutputEncoding('gbk');  //设置编码
$data->read('徐州.xls'); //指定文件
for ( $i = 1; $i sheets[0]['numRows']; $i++) { 
 for ($j = 1; $j sheets[0]['numCols']; $j++) { 
 echo $data->sheets[0]['cells'][$i][$j]." | "; 
 } 
 echo "
"; 

}


-------------------------------------------------------------------------------------------------------

如何通过PHP将excel的数据导入MySQL中

    在开发PHP程序时,很多时候我们会有将数据批量导入数据库的需求,如学生信息批量添加到数据库中,而事先用excel编排好,对excel实行操作,便是我们比较常用的选择方式。

     在对excel的操作中,phpExcelReade便是很多人的共同选择。在具体实现中,我们可以以文件上传方式将excel文件上传到服务器中的某个位置,通过以下操作将excel中的数据导入到数据库后,在将上传的文件删除即可。

代码如下:
    

    $dir=dirname(__FILE__);                       //获取当前脚本的绝对路径
    $dir=str_replace("\","/",$dir)."/";

    $filename='uploadFile.xls'; //可以定义一个上传后的文件名称
    $result=move_uploaded_file($_FILES['upload'] ['tmp_name'],$dir.$filename);//假如上传到当前目录下
    if($result)  //如果上传文件成功,就执行导入excel操作
    {
     require_once 'phpExcelReader/Excel/reader.php';
     $data = new Spreadsheet_Excel_Reader();
     $data->setOutputEncoding('utf-8');//设置在页面中输出的编码方式,而不是utf8

      // 该方法会自动判断上传的文件格式,不符合要求会显示错误提示信息(错误提示信息在该方法内部)。
     $data->read("$filename");  //读取上传到当前目录下名叫$filename的文件

     error_reporting(E_ALL ^ E_NOTICE);
     //如果excel表带标题,则从$i=2开始,去掉excel表中的标题部分(要将$i
     for ($i = 2; $i sheets[0]['numRows']; $i++)
     {
      $sql = "INSERT INTO user (stuid,class,name,sex,classNum,tel,addr,remark) VALUES('".
      $data->sheets[0]['cells'][$i][1]."','".    //学号
      $data->sheets[0] ['cells'][$i][2]."','".    //班级
      $data->sheets[0]['cells'] [$i][3]."','".    //姓名
      $data->sheets[0]['cells'][$i] [4]."','".    //性别
      $data->sheets[0]['cells'][$i] [5]."','".    //班内序号
      $data->sheets[0]['cells'][$i] [6]."','".    //联系电话
      $data->sheets[0]['cells'][$i] [7]."','".    //联系地址
      $data->sheets[0]['cells'][$i][8]."')";     //附注

         $db->query($sql);
         $insert_info.= " $sql
n";          //可以用来显示数据插入的信息

     }
     $totalNums=$data->sheets[0]['numRows']-2;//求出导入的总数据条数(这里是减去2,才会得到去除标题后的总数据)
     //echo "导入成功!";
     unlink("$filename");                             //删除上传的excel文件

    }
    else
    {
     $errmsg="上传失败";
    }


=======================================================================

zendframework上传文件

此方法适用于1.6或更高版本。

1.先在view页面写html代码。

 

 
 
 
 
 
 
Choose a 
file to upload:
 

 
 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1280
29
C# 教程
1257
24
MySQL与PhpMyAdmin:了解关键差异 MySQL与PhpMyAdmin:了解关键差异 May 06, 2025 am 12:17 AM

MySQL是数据库管理系统,phpMyAdmin是管理MySQL的Web工具。1.MySQL用于存储和管理数据,支持SQL操作。2.phpMyAdmin提供图形界面,简化数据库管理。

PHP性能优化策略。 PHP性能优化策略。 May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

Navicat和Mysql:完美的合作伙伴关系 Navicat和Mysql:完美的合作伙伴关系 May 05, 2025 am 12:09 AM

Navicat和MySQL是绝配,因为它们能提高数据库管理和开发效率。1.Navicat简化了MySQL的操作,通过图形界面和自动生成SQL语句提升工作效率。2.Navicat支持多种连接方式,方便本地和远程管理。3.它提供了强大的数据迁移和同步功能,适合高级用法。4.Navicat有助于性能优化和最佳实践,如定期备份和查询优化。

MySQL:SQL的实际应用 MySQL:SQL的实际应用 May 08, 2025 am 12:12 AM

MySQL受欢迎的原因是其性能卓越且易于使用和维护。1.创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2.插入和查询数据:通过INSERTINTO和SELECT语句操作数据。3.优化查询:使用索引和EXPLAIN语句提升性能。

MySQL与Oracle:许可,功能和福利 MySQL与Oracle:许可,功能和福利 May 08, 2025 am 12:05 AM

MySQL和Oracle的主要区别在于许可证、功能和优势。1.许可证:MySQL提供GPL许可证,免费使用,Oracle采用专有许可证,价格昂贵。2.功能:MySQL功能简单,适合Web应用和中小型企业,Oracle功能强大,适合大规模数据和复杂业务。3.优势:MySQL开源免费,适合初创公司,Oracle性能可靠,适合大型企业。

PHP中依赖注入的最佳实践 PHP中依赖注入的最佳实践 May 08, 2025 am 12:21 AM

使用依赖注入(DI)的原因是它促进了代码的松耦合、可测试性和可维护性。1)使用构造函数注入依赖,2)避免使用服务定位器,3)利用依赖注入容器管理依赖,4)通过注入依赖提高测试性,5)避免过度注入依赖,6)考虑DI对性能的影响。

phpmyadmin的功能:与MySQL(SQL)互动 phpmyadmin的功能:与MySQL(SQL)互动 May 07, 2025 am 12:16 AM

phpMyAdmin通过Web界面简化MySQL数据库管理。1)创建数据库和表:使用图形界面轻松操作。2)执行复杂查询:如JOIN查询,通过SQL编辑器实现。3)优化和最佳实践:包括SQL查询优化、索引管理和数据备份。

PHP性能优化清单:立即提高速度 PHP性能优化清单:立即提高速度 May 12, 2025 am 12:07 AM

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

See all articles