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初学者头疼问题总结
Oct 09 PHP
php统计文件大小,以GB、MB、KB、B输出
May 29 PHP
PHP 解决session死锁的方法
Jun 20 PHP
codeigniter教程之多文件上传使用示例
Feb 11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
PHP+MySQL删除操作实例
Jan 21 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
Jan 22 PHP
php简单实现多字节字符串翻转的方法
Mar 31 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 PHP
一文搞懂php的垃圾回收机制
Jun 18 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之第四天
2006/10/09 PHP
function.inc.php超越php
2006/12/09 PHP
PHP中动态显示签名和ip原理
2007/03/28 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
酒店应聘自荐信
2013/11/09 职场文书
标准化管理实施方案
2014/02/25 职场文书
校园活动宣传方案
2014/03/28 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
礼仪培训心得体会
2016/01/22 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书