0

0

(进阶篇)使用PHP导入Excel和导出数据为Excel文件

黄舟

黄舟

发布时间:2017-02-07 09:38:47

|

1952人浏览过

|

来源于php中文网

原创

有时需要将excel表格的数据导入到mysql数据库中,我们使用php的一个开源项目php-excelreader可以轻松实现excel的导入。

1、导入XLS

PHP-ExcelReader这是一个开源的项目,主要是来解析excel的文件,您可以到http://sourceforge.net/projects/phpexcelreader获取最新版的源码。下载之后解压,主要用到excel文件夹里面的两个文件reader.php和oleread.inc。

导入Xls处理流程:选择xls文件->上传xls文件到服务器->通过PHP-ExcelReader解析excel->批量入库。

include_once("excel/reader.php"); //引入PHP-ExcelReader 
$tmp = $_FILES['file']['tmp_name']; 
if (empty ($tmp)) { 
    echo '请选择要导入的Excel文件!'; 
    exit; 
} 
     
$save_path = "xls/"; 
$file_name = $save_path.date('Ymdhis') . ".xls"; //上传后的文件保存路径和名称 
if (copy($tmp, $file_name)) { 
    $xls = new Spreadsheet_Excel_Reader(); 
    $xls->setOutputEncoding('utf-8');  //设置编码 
    $xls->read($file_name);  //解析文件 
    for ($i=2; $i<=$xls->sheets[0]['numRows']; $i++) { 
        $name = $xls->sheets[0]['cells'][$i][0]; 
        $sex = $xls->sheets[0]['cells'][$i][1]; 
        $age = $xls->sheets[0]['cells'][$i][2]; 
        $data_values .= "('$name','$sex','$age'),"; 
    } 
    $data_values = substr($data_values,0,-1); //去掉最后一个逗号 
    $query = mysql_query("insert into student (name,sex,age) values $data_values");//批量插入数据表中 
    if($query){ 
        echo '导入成功!'; 
    }else{ 
        echo '导入失败!'; 
    } 
}

PHP-ExcelReader读取上传的excel文件后,返回一个数组,里面包含了表格的所有信息,你可以循环获取需要的信息。

2、导出XLS

导出XLS流程:读取学生信息表->循环记录构建制表符分隔的字段信息->设置header信息->导出文件(下载)到本地

立即学习PHP免费学习笔记(深入)”;

维克企业管理系统全能.NET版2009
维克企业管理系统全能.NET版2009

采用.NET CLR2.0、VS2005及SQL2000,前台页面使用用DIV+CSS开发;可以使用动态化运行,也可以采用全部静态化动作,甚至自己定义模板;后台信息编辑器采用最新版FCKeditor;产品信息可导出为EXCEL、WORD、PDF等格式存储;产品信息可以通过EXCEL模板批量导入;产品分类采用无限级分类;产品图片上传支持图片水印和文字水印,同时支持自动生成缩略图功能;电子邮件发送支持

下载
$result = mysql_query("select * from student"); 
$str = "姓名\t性别\t年龄\t\n"; 
$str = iconv('utf-8','gb2312',$str); 
while($row=mysql_fetch_array($result)){ 
    $name = iconv('utf-8','gb2312',$row['name']); 
    $sex = iconv('utf-8','gb2312',$row['sex']); 
    $str .= $name."\t".$sex."\t".$row['age']."\t\n"; 
} 
$filename = date('Ymd').'.xls'; 
exportExcel($filename,$str);

exportExcel函数用于设置header信息。

function exportExcel($filename,$content){ 
     header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header("Content-Type: application/vnd.ms-execl"); 
    header("Content-Type: application/force-download"); 
    header("Content-Type: application/download"); 
    header("Content-Disposition: attachment; filename=".$filename); 
    header("Content-Transfer-Encoding: binary"); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 
 
    echo $content; 
}

此外,关于导入和导出Excel,还可以使用PHPExcel,这个非常强大,大家有空可以去研究,官方网站:http://www.codeplex.com/PHPExcel 导入导出都成,可以导出office2007格式,同时兼容2003

以上就是(进阶篇)使用PHP导入Excel和导出数据为Excel文件的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关专题

更多
excel制作动态图表教程
excel制作动态图表教程

本专题整合了excel制作动态图表相关教程,阅读专题下面的文章了解更多详细教程。

20

2025.12.29

freeok看剧入口合集
freeok看剧入口合集

本专题整合了freeok看剧入口网址,阅读下面的文章了解更多网址。

65

2025.12.29

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2025.12.29

python中def的用法大全
python中def的用法大全

def关键字用于在Python中定义函数。其基本语法包括函数名、参数列表、文档字符串和返回值。使用def可以定义无参数、单参数、多参数、默认参数和可变参数的函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

python改成中文版教程大全
python改成中文版教程大全

Python界面可通过以下方法改为中文版:修改系统语言环境:更改系统语言为“中文(简体)”。使用 IDE 修改:在 PyCharm 等 IDE 中更改语言设置为“中文”。使用 IDLE 修改:在 IDLE 中修改语言为“Chinese”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

C++的Top K问题怎么解决
C++的Top K问题怎么解决

TopK问题可通过优先队列、partial_sort和nth_element解决:优先队列维护大小为K的堆,适合流式数据;partial_sort对前K个元素排序,适用于需有序结果且K较小的场景;nth_element基于快速选择,平均时间复杂度O(n),效率最高但不保证前K内部有序。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

12

2025.12.29

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

134

2025.12.29

抖音网页版入口在哪(最新版)
抖音网页版入口在哪(最新版)

抖音网页版可通过官网https://www.douyin.com进入,打开浏览器输入网址后,可选择扫码或账号登录,登录后同步移动端数据,未登录仅可浏览部分推荐内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

63

2025.12.29

快手直播回放在哪看教程
快手直播回放在哪看教程

快手直播回放需主播开启功能才可观看,主要通过三种路径查看:一是从“我”主页进入“关注”标签再进主播主页的“直播”分类;二是通过“历史记录”中的“直播”标签页找回;三是进入“个人信息查阅与下载”里的“直播回放”选项。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

18

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.1万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号