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函数解决SQL injection
Oct 09 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
Sep 02 PHP
简单的php写入数据库类代码分享
Jul 26 PHP
php设计模式之命令模式的应用详解
May 21 PHP
360通用php防护代码(使用操作详解)
Jun 18 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
Jun 27 PHP
php实现建立多层级目录的方法
Jul 19 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
Nov 05 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
php workerman定时任务的实现代码
Dec 23 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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
用缓存实现静态页面的测试
2006/12/06 PHP
php时区转换转换函数
2014/01/07 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
javascript匿名函数应用示例介绍
2014/03/07 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
Python3如何解决字符编码问题详解
2017/04/23 Python
python的unittest测试类代码实例
2017/12/07 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
python dlib人脸识别代码实例
2019/04/04 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
python制作朋友圈九宫格图片
2019/11/03 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
如何使用Pytorch搭建模型
2020/10/26 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
教师群众路线学习心得体会
2014/11/04 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
搬迁通知
2015/04/20 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
windows11怎么查看自己安装的版本号? win11版本号的查看方法
2021/11/21 数码科技
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android