有时需要将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信息->导出文件(下载)到本地$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.gxlcms.com)! 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

php上传和导出excel文件,(进阶篇)使用PHP导入Excel和导出数据为Excel文件相关推荐

  1. angularjs php上传文件,AngularJS 文件上传 的功能你了解的多少?几分钟就让你了解angularjs的文件上传...

    本篇文章主要的讲述了angularjs的文件上传功能,大家又不懂都可以来看,希望能帮助到大家.下面就让我们一起来看这篇文章吧 问题描述附件上传 检定结果以附件形式上传. 这里先不考虑api. 实现的任 ...

  2. 文件上传漏洞详解(CTF篇)

    需要了解的前置知识: 1.什么是文件上传: 文件上传就是通过流的方式将文件写到服务器上 文件上传必须以POST提交表单 表单中需要 <input type="file" na ...

  3. 2022苹果AppStore应用商店上传与APP上传流程必看(基础篇)​

    如果App想要成功出现在商店中,开发者还需要经过上传操作和苹果公司的严格审核.同时,在App上架App Store时,如有违规,将受到苹果公司的处罚.此外,优质app也会得到苹果的推荐,通过优质曝光和 ...

  4. mfc创建excel如何另存为_mfc表格数据保存为excel文件-VC (MFC)如何从对话框写数据到Excel...

    我现在把Excel表格嵌入到MFC单文档界面,然后对嵌... 1.首先,打开媒介工具"记事本",将word文件里需要导入的数据,复制粘贴到记事本当中,然后保存成为txt文件,本例中 ...

  5. R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)

    R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称.将数据写入Excel文件新的表单(sheet)中.将文件保存为xls文件格式(而不是xlsx) 目录

  6. git命令下载项目,上传android项目到github步骤,以及取消项目关联Git,设置git忽略文件

    设置忽略文件 1.工程下创建文件夹gitignore.push即可 *.iml .gradle /local.properties /.idea/caches /.idea/libraries /.i ...

  7. bootstrap上传之后的处理_bootstrap-fileinput 进阶 -- 实现上传失败清除之前的预览图且可以继续上传...

    最终实现的 GIF 效果图 Animation44.gif 资料 正文 需求:在文件上传之后(接口可以正常的访问,只是返回结果是失败的情况下),这个时候需要将原来生成的缩略图清除掉(因为展示的样式会让 ...

  8. SSM开发书评网29:后台二:wangEditor图片上传;(主要内容是【wangEditor图片上传的文档要求】,【Spring MVC整合FileUpload组件,以实现文件上传功能】)

    说明: (1)本篇博客内容说明:[在后台系统,我们点击新增按钮后,会弹出新增图书对话框]→[该对话框中,包含一个wangEditor富文本编辑器]→[wangEditor富文本编辑器中,可以包含图片] ...

  9. 帮我用python flask框架写一个可以上传英文pdf然后通过调取百度翻译api翻译为中文然后保存为pdf文件的代码...

    下面是一个简单的代码示例,可以帮助您使用 Python Flask 框架实现上传英文 PDF,并通过调用百度翻译 API 将其翻译为中文,然后保存为 PDF 文件: from flask import ...

最新文章

  1. 2字节十六进制浮点数 qt_Qt中如何实现十六进制“41A4 0000”十六进制转为浮点数20.5呢?...
  2. linux安装的时候网卡配置失败,Linux下安装网卡执行make install失败
  3. Request对象的主要方法有哪些?
  4. 201621123079《java程序设计》第六周作业总结
  5. For the king:出色的冒险,失败的角色扮演
  6. C#比較对象的相等性
  7. 未来论坛:AI决策的可靠性和可解释性
  8. linux创建新用户及权限
  9. 模式识别经典算法——Kmeans图像聚类分割(以最短的matlab程序实现)
  10. 视频:我是设计师高清完整版Plus拍摄花絮
  11. hadoop2.xHA机制的实现原理
  12. 财智家庭理财软件 V5.5 精锐版
  13. 数据库索引选择的探索(二)之直方图
  14. MySQL 网站上的 GA 是什么意思?
  15. AutomationAnywhere(AA)实现读取Excel文件
  16. 思科路由器配置GRE隧道
  17. 服务端是如何主动推送信息到客户端的?
  18. Algorand 系列一:VRF 密码学抽签原理及其在 Algorand 中的应用
  19. 自定义viewGroup防淘宝商品详情页
  20. Unity3d实现手动选择动态加载PPT文件并展示

热门文章

  1. 使用js写一个播放语音提示的功能
  2. Java在线人才招聘系统求职兼职应聘(含源码+论文+答辩PPT等)
  3. 期盼已久全平台支持-开源IM项目OpenIM之uniapp更新
  4. matlab 电路编程入门,菜鸟入门Matlab编程
  5. JointJS官方API的个人整理
  6. Web服务器控件和HTML控件区别
  7. 分布式数据库中间件——Mycat2
  8. 社区团购系统案例:亲民诚品社区拼团怎么样?
  9. 【LaTex】\begin{array}{r},\begin{array}{l},\begin{array}{c}
  10. 上海交大计算机考研复试,上海交大计算机考研复试机试