PHP将Excel导入数据库及数据库数据导出至Excel的方法


Posted in PHP onJune 24, 2015

本文实例讲述了PHP将Excel导入数据库及数据库数据导出至Excel的方法。分享给大家供大家参考。具体实现方法如下:

一.导入

导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载  提取码:vxyn。(注意两个文件有引用关系)

<?php
//传入要导入的Excel的文件名
function import_to_DB($filename) {
  require_once'reader.php';
  $data = new Spreadsheet_Excel_Reader();
  //创建读取Excel的对象
  $data->setOutputEncoding('utf-8');
  //设置读取Excel内容后输出的字符编码
  $data->read("data/Excel/{$filename}.xls");
  $db = mysql_connect('localhost', '用户名', '密码') or die("Could not connect to database.");
  //连接数据库  
  mysql_query("set names 'uft8'");
  //输出中文  
  mysql_select_db('数据库名');
  //选择数据库  
  error_reporting(E_ALL ^ E_NOTICE);
  for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
    echo $data->sheets[0]['cells'][$i][列数];
    //这里可以把每一行相应列的值插到数据库中,如:
    /*
    $sql="insert "表名" values(对应项...)";
    mysql_query($sql);
    可加上错误判断
    */ 
  } 
?>

总之,能够读出表格中每一行中的相应列$data->sheets[0][行][列]的值,插入操作就好办了。

二.导出

导出可以利用MIME协议轻松导出表格文件,不用依赖任何组件。按如下格式设置header即可导出Excel,同时浏览器进行下载

header('Content-type: text/html; charset=utf-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8"); //application/vnd.ms-excel指定输出Excel格式
header("Content-Disposition:filename=表格文件名.xls");
//输出的表格名称

完整代码如下:

<?php 
header('Content-type: text/html; charset=utf-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8"); 
header("Content-Disposition:filename=表格文件名.xls");
$conn = mysql_connect("localhost","root","数据库密码") or die("不能连接数据库");
mysql_select_db("数据库名", $conn);
mysql_query("set names 'UTF-8'");
$sql="select * from 表名 where 条件";
$result=mysql_query($sql);
echo "表头1\t表头2\t表头3\n";
while($row=mysql_fetch_array($result)){
  echo $row[0]."\t".$row[1]."\t".$row[2]."\n";
}
?>

这里其实\t就是换格,\n就是换行。在一个网页中设置这个php文件的链接,当点击时浏览器会自动把传过来的流保存为Excel文件。

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP生成excel时单元格内换行问题的解决方法
Aug 26 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 PHP
深入PHP变量存储的详解
Jun 13 PHP
PHP使用JSON和将json还原成数组
Feb 12 PHP
php截取指定2个字符之间字符串的方法
Apr 15 PHP
PHP中list()函数用法实例简析
Jan 08 PHP
PHP如何使用Memcached
Apr 05 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
Jul 09 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
php实现微信发红包功能
Jul 13 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
php异常处理方法实例汇总
Jun 24 #PHP
php数组索引与键值操作技巧实例分析
Jun 24 #PHP
PHP实现在线阅读PDF文件的方法
Jun 23 #PHP
php中header设置常见文件类型的content-type
Jun 23 #PHP
PHP register_shutdown_function()函数的使用示例
Jun 23 #PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 #PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 #PHP
You might like
PHP网站基础优化方法小结
2008/09/29 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
零基础php编程好学吗
2019/10/11 PHP
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
vuex与组件联合使用的方法
2018/05/10 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
2020/06/22 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
Python实现元素等待代码实例
2019/11/11 Python
Python集合操作方法详解
2020/02/09 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
党员自我评价分享
2013/12/13 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
人事部主管岗位职责
2013/12/26 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
经理助理岗位职责
2015/02/02 职场文书
冰雪公主观后感
2015/06/16 职场文书
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL