软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> Web前端 -> php上传xls文件导入到mysql数据表 -> 正文阅读

[Web前端]php上传xls文件导入到mysql数据表


申明下面的文章属于转载,现在大家新下载的版本跟下面列子这个不一样!我看了很多网上的列子,最后我还是读了那个英文的手册,上面说的很清楚!大家英语不好可以下载有道!其实重点是要包含下面两行:
  require_once 'excellib/PHPExcel.php';  
         require_once 'excellib/PHPExcel/IOFactory.php';

 你们各自的替换各自存放目录,我这里用的是excellib目录。就是要把PHPExcel.php',PHPExcel/IOFactory.php包含进来就可以,其他的跟后面这个例子差不多。
本功能实际上是通过一个国外php对xls文件读取的类实现的,网上的资料多是excel文件另存为csv文件,然后从csv文件导入。
    PHP-ExcelReader,下载地址: http://sourceforge.net/projects/phpexcelreader  下载解压后,
目录结构
[img]http://jason2016.blog.51cto.com/attachment/201003/201003301269925223319.jpg
首先我们需要一个上传页面:
  [img]http://jason2016.blog.51cto.com/attachment/201003/201003301269923315061.jpg
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>导入测试</title>
</head>
<body>
<script>
function import_check(){
    var f_content = form1.file.value;
    var fileext=f_content.substring(f_content.lastIndexOf("."),f_content.length)
        fileext=fileext.toLowerCase()
     if (fileext!='.xls')
        {
         alert("对不起,导入数据格式必须是xls格式文件哦,请您调整格式后重新上传,谢谢 !");            
         return false;
        }
}
</script>
    <table width="98%" border="0" align="center" style="margin-top:20px; border:1px solid #9abcde;">
    <form id="form1" name="form1" enctype="multipart/form-data" method="post" action="insert.php">
    
        <tr >
            <td height="28" colspan="2" background="../skins/top_bg.gif"><label>  <strong><a href="#">小学数学题目数据导入</a></strong></label></td>
        </tr>
        <tr>
            <td width="18%" height="50"> 选择你要导入的数据表</td>
            <td width="82%"><label>
            <input name="file" type="file" id="file" size="50" />
            </label>
                <label>
                <input name="button" type="submit" class="nnt_submit" id="button" value="导入数据"    onclick="import_check();"/>
                </label>
 </td>
        </tr>
        <tr>
            <td colspan="2" bgcolor="#DDF0FF">  [<span class="STYLE1">注</span>]数据导入格式说明:</td>
        </tr>
        <tr>
            <td colspan="2">    1、其它.导入数据表文件必须是<strong>execel</strong>文件格式{.<span class="STYLE2">xls</span>}为扩展名.</td>
        </tr>
        <tr>
            <td colspan="2">  2、execel文件导入数据顺序必须如:序号    | 题目    </td>
        </tr>
        <tr>
            <td colspan="2"> </td>
        </tr></form>
    </table>
</body>
</html>
数据库连接代码页:
<?php
$host="localhost";
$user="root";
$password="123456";
$database="project";
$connect=@mysql_connect("$host","$user","$password");
if(!$connect)
{
  echo "database connect wrong";
  exit;
  }
$db=mysql_select_db("$database",$connect);
$sql=mysql_query("SET NAMES 'gb2312'");
?>
读取插入的页面
代码如下:
<?php
error_reporting(E_ALL ^ E_NOTICE);
if($_POST){
$Import_TmpFile = $_FILES['file']['tmp_name'];
require_once 'conn.php';
mysql_select_db('test_xls'); //选择数据库    
require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('UTF-8');
$data->read($Import_TmpFile);
$array =array();
    
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
    for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
     $array[$i][$j] = $data->sheets[0]['cells'][$i][$j];
    }
}
sava_data($array);
}
function sava_data($array){    
    $count =0;    
    $total =0;
    foreach( $array as $tmp){    
         $Isql = "Select id from    xls    where id='".$tmp[1]."'";
         $sql = "Insert into xls (id,tm) value(";
         $sql.="'".$tmp[1]."','".$tmp[2]."')";
    
        if(! mysql_num_rows(mysql_query($Isql) )){
         if( mysql_query($sql) ){
            $count++;
         }
        }
        $total++;
    }
    echo "<script>alert('共有".$total."条数据,导入".$count."条数据成功');</script>";
    
}
    
function TtoD($text){
    $jd1900 = GregorianToJD(1, 1, 1900)-2;
    $myJd = $text+$jd1900;
    $myDate = JDToGregorian($myJd);
    $myDate = explode('/',$myDate);
    $myDateStr = str_pad($myDate[2],4,'0', STR_PAD_LEFT)."-".str_pad($myDate[0],2,'0', STR_PAD_LEFT)."-".str_pad($myDate[1],2,'0', STR_PAD_LEFT);
    return $myDateStr;        
    }
?>
数据库testz_xls表
[img]http://jason2016.blog.51cto.com/attachment/201003/201003301269923865885.jpg
测试环境 windows xp
         phpnow 1.4
  地址:http://localhost/test/up.php
测试图:
[img]http://jason2016.blog.51cto.com/attachment/201003/201003301269924140837.jpg
[img]http://jason2016.blog.51cto.com/attachment/201003/201003301269924189541.jpg
本文出自 “成长流水账----开源世界,分享知识的快乐!” 博客,请务必保留此出处http://jason2016.blog.51cto.com/892969/289411本文出自 51CTO.COM技术博客
......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2015-01-06 22:39:11  
Web前端 最新文章
10分钟
SSM框架SSM项目源码SSM源码下载java框架整合
javascript入门
JavaScript常用对象Array(2)
8.Smarty3:模版中的内置函数
表单脚本
iTextSharp5.0页眉页脚及Asp.net预览的实现
MVC基础学习—理论篇
JavaScript
http协议中get与post区别详解
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2019年5日历
2019-5-25 17:23:58
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --