PHP实现将EXCEL文件导入到MYSQL

   最近因项目需求,要实现将excel文件通过php页面导入mysql数据库中。在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。这里介绍一个直接将excel文件导入mysql的例子。我花了一晚上的时间测试,无论导入简繁体都不会出现乱码,非常好用。

  说明:

  测试环境:MYSQL数据库采用utf8编码.导入EXCEL文档是xls格式,经过测试,xlsx 格式[excel 2007]也OK.

  文中红色标注为需要注意的地方,请替换成你配置好的数据,如数据库配置等。运行http://localost/test.php实现导入。

  以下是我贴出的详细代码,其中test.php为我写的测试文件,reader.php和oleread.inc文件是从上面提供的网址中下载的。

  1. test.php

  以下为引用的内容:

  require_once 'reader.php';

  // ExcelFile($filename, $encoding);

  $data = new Spreadsheet_Excel_Reader();

  // Set output Encoding.

  $data->setOutputEncoding('gbk');

  //”data.xls”是指要导入到mysql中的excel文件

  $data->read('data.xls');

  @ $db = mysql_connect('localhost', 'root', '123456') or

  die("Could not connect to database.");//连接数据库

  mysql_query("set names 'gbk'");//输出中文

  mysql_select_db('mydb'); //选择数据库

  error_reporting(E_ALL ^ E_NOTICE);

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

  //以下注释的for循环打印excel表数据

  /*

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

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

  }

  echo "n";

  */

  //以下代码是将excel表数据【3个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!

  $sql = "INSERT INTO test VALUES('".

  $data->sheets[0]['cells'][$i][1]."','".

  $data->sheets[0]['cells'][$i][2]."','".

  $data->sheets[0]['cells'][$i][3]."')";

  echo $sql.'

  ';

  $res = mysql_query($sql);

  }

  ?>

时间: 2024-08-30 11:16:06

PHP实现将EXCEL文件导入到MYSQL的相关文章

关于excel文件导入到mysql数据没有读取到文件问题

问题描述 我最近在做一个oa项目,其中有一个excel文件导入到数据中去,用poi做的.我现在在后台能够得到文件的完整路径,但是HSSFWorkbook并没有创建一个工作簿.在网上找了很多资料,并没有找到解决方案,本人是只菜鸟,望各位大侠指路,帮忙看看.谢谢!前台import.jsp代码:写道 解决方案 既然是客户端的文件路径,服务器读不到那个文件那么解决方法就是,先将这个文件上传到服务器,你临时保存,然后读取数据入库,成功后删除 一步到位 不用吧上传和读取数据分开解决方案二:代码我只瞄一眼,不

phpExcel导入excel文件数据到mysql数据库中老是出现页面访问错误是怎么回事

问题描述 phpExcel导入excel文件数据到mysql数据库中老是出现页面访问错误是怎么回事 在$sheet=$phpExcel->getSheet(0);如果不打印这个$sheet信息就会出现页面访问的错误信息 解决方案 要有一个sheet变量来获得getSheet(0)的sheet 解决方案二: $phpExcel->getSheet(0)那是取出第一张Sheet.如果不写,到底读写哪张Sheet? 解决方案三: http://www.jb51.net/article/59844.h

PHP上传Excel文件导入数据到MySQL数据库示例_php实例

最近在做Excel文件导入数据到数据库.网站如果想支持批量插入数据,可以制作一个上传Excel文件,导入里面的数据内容到MySQL数据库的小程序. 要用到的工具: ThinkPHP:轻量级国产PHP开发框架.可在ThinkPHP官网下载. PHPExcel:Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可在CodePlex官网下载.. 1.设计MySQL数据库product 创建product数据库 CREATE DATABASE product D

提问如何用vb.net实现将excel文件导入oracle数据库

问题描述 提问如何用vb.net实现将excel文件导入oracle数据库,或者是csv文件也可以需要新建一个表,将文本中的内容导入这个表,需要有框架,大体就是选择一个文件,导入就可以 解决方案 解决方案二:Refertothreadfollowshttp://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=150437&SiteID=1DimMyCommandAsSystem.Data.OleDb.OleDbDataAdapterDimMyConn

php将csv文件导入到mysql数据库的方法_php技巧

本文实例讲述了php将csv文件导入到mysql数据库的方法.分享给大家供大家参考.具体分析如下: 本程序实现数据导入原理是先把csv文件上传到服务器,然后再通过php的fopen与fgetcsv文件把数据保存到数组,然后再用while把数据一条条插入到mysql数据库,代码如下: 复制代码 代码如下: <?php $fname = $_files['myfile']['name']; $do = copy($_files['myfile']['tmp_name'],$fname); if ($

winform把excel文件导入到sql server数据库中

问题描述 winform把excel文件导入到sqlserver数据库中就是点击导入按钮就把excel相应的数据导入到sqlserver中,需要详细的代码希望代码带注释谢谢! 解决方案 解决方案二:最简单方法,选择表,进入编辑状态1.CTRL+C2.CTRL+V解决方案三:Aspose.Cells,将文件读取到datatable中然后再将datatable里面的内容通过Insert语句也好,SqlBulkCopy也行,添加到数据库中解决方案四:将excel表看成数据库,里面的sheet看作表,导

ssh怎么实现excel文件导入进度条——急求

问题描述 ssh怎么实现excel文件导入进度条--急求求完整的例子和源代码,谢谢! 解决方案 解决方案二:该回复于2010-11-10 09:53:15被版主删除解决方案三:引用1楼jiangfeiwork1987的回复: 留下邮箱 莫非1L有?给我也发一份吧,嘻嘻,谢谢.一直不知道怎么去做进度条.邮箱:418146746@qq.com解决方案四:来看看曾经也想过这个问题后因需求取消就没继续研究解决方案五:前台用ajax不断去读取后台的导入excel的进度值,比如导入多少笔就更新一下进度值.返

Drupal读取Excel并导入到mysql数据库程序代码

Drupal 通过Library 调用 PHPExcl 将PHPExcel 下载后,上传到Drupal目录:sites/all/libraries/PHPExcel 如果你的项目中安装了libraries模块,可以通过libraries_load($name);来调用. 如果没有安装libraries模块,可以简单的使用下列代码来调用:  代码如下 复制代码 require("sites/all/libraries/PHPExcel/PHPExcel/IOFactory.php");

在WEB页面上将EXCEL文件导入、导出到数据库中

excel|web|数据|数据库|页面 笔者由于工作需要,在OA系统中,需要将EXCEL文件的内容导入到数据库中,同时还需要将数据库中的内容导出到EXCEL文件中.笔者的OA是用PHP开发的,并且应用在WEB页面上,所以直接用PHP处理难度比较大.经过研究,笔者用DELPHI开发了一个ACTIVEX控件,来处理EXCEL文件的数据,然后将数据提交到服务器上,再保存到数据库中,轻松的实现了EXCEL文件数据的导入.导出没有用ACTIVEX控件,直接用PHP处理.方法是将数据直接生成CSV文件,因为