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 相关文章推荐
一个简洁的多级别论坛
Oct 09 PHP
再次研究下cache_lite
Feb 14 PHP
php curl选项列表(超详细)
Jul 01 PHP
php函数指定默认值方法的小例子
Dec 04 PHP
php中JSON的使用与转换
Jan 14 PHP
PHP实现的增强性mhash函数
May 27 PHP
php数组随机排序实现方法
Jun 13 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
php+html5实现无刷新图片上传教程
Jan 22 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
php使用curl代理实现抓取数据的方法
Feb 03 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多个版本的分析解释
2011/07/21 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
Apache服务器无法使用的解决方法
2013/05/08 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
python实现雨滴下落到地面效果
2018/06/21 Python
详解Python中is和==的区别
2019/03/21 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
Python无损压缩图片的示例代码
2020/08/06 Python
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
高分子材料与工程专业推荐信
2013/12/01 职场文书
房地产销售计划书
2014/01/10 职场文书
迎元旦广播稿
2014/02/22 职场文书
市场推广策划方案
2014/06/02 职场文书
法定代表人证明书
2014/11/28 职场文书
2015高考寄语集锦
2015/02/27 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书