这里实现的PHP导入导出excel功能用到的是开源PHPExcel,执行下面的操作之前请先下载该类库文件,官方网站:http://www.codeplex.com/PHPExcel,官网案例代码很多,导出pdf什么的都有,这里主要介绍PHP导入导出excel的功能,导出excel文件是office2007格式,同时兼容2003。

php导入excel

导入的excel文件的数据格式,截图如下:

下面是将该excel文件的数据导入到数据库的具体代码

require_once 'Classes/PHPExcel.php';

require_once 'Classes/PHPExcel/IOFactory.php';

require_once 'Classes/PHPExcel/Reader/Excel5.php';

$objReader=PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format

$objPHPExcel=$objReader->load($file_url);//$file_url即Excel文件的路径

$sheet=$objPHPExcel->getSheet(0);//获取第一个工作表

$highestRow=$sheet->getHighestRow();//取得总行数

$highestColumn=$sheet->getHighestColumn(); //取得总列数

//循环读取excel文件,读取一条,插入一条

for($j=2;$j<=$highestRow;$j++){//从第一行开始读取数据

$str='';

for($k='A';$k<=$highestColumn;$k++){            //从A列读取数据

//这种方法简单,但有不妥,以'\\'合并为数组,再分割\\为字段值插入到数据库,实测在excel中,如果某单元格的值包含了\\导入的数据会为空

$str.=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue().'\\';//读取单元格

}

//explode:函数把字符串分割为数组。

$strs=explode("\\",$str);

$sql="INSERT INTO `".TB_PREFIX."business`(`username`,`password`,`company`,`prov`,`address`,`btime`,`phone`,`email`,`name`) VALUES (

'{$strs[0]}',

'{$strs[1]}',

'{$strs[2]}',

'{$strs[3]}',

'{$strs[4]}',

'{$strs[5]}',

'{$strs[6]}',

'{$strs[7]}',

'{$strs[8]}')";

$db->query($sql);//这里执行的是插入数据库操作

}

unlink($file_url); //删除excel文件

?>

php导出excel

下面直接放出本人总结的使用PHP导出Excel的部分调用代码。

error_reporting(E_ALL);

date_default_timezone_set('Asia/Shanghai');

require_once './Classes/PHPExcel.php';

$data=array(

0=>array(

'id'=>1001,

'username'=>'张飞',

'password'=>'123456',

'address'=>'三国时高老庄250巷101室'

),

1=>array(

'id'=>1002,

'username'=>'关羽',

'password'=>'123456',

'address'=>'三国时花果山'

),

2=>array(

'id'=>1003,

'username'=>'曹操',

'password'=>'123456',

'address'=>'延安西路2055弄3号'

),

3=>array(

'id'=>1004,

'username'=>'刘备',

'password'=>'654321',

'address'=>'愚园路188号3309室'

)

);

$objPHPExcel=new PHPExcel();

$objPHPExcel->getProperties()->setCreator('http://www.jb51.net')

->setLastModifiedBy('http://www.jb51.net')

->setTitle('Office 2007 XLSX Document')

->setSubject('Office 2007 XLSX Document')

->setDescription('Document for Office 2007 XLSX, generated using PHP classes.')

->setKeywords('office 2007 openxml php')

->setCategory('Result file');

$objPHPExcel->setActiveSheetIndex(0)

->setCellValue('A1','ID')

->setCellValue('B1','用户名')

->setCellValue('C1','密码')

->setCellValue('D1','地址');

$i=2;

foreach($data as $k=>$v){

$objPHPExcel->setActiveSheetIndex(0)

->setCellValue('A'.$i,$v['id'])

->setCellValue('B'.$i,$v['username'])

->setCellValue('C'.$i,$v['password'])

->setCellValue('D'.$i,$v['address']);

$i++;

}

$objPHPExcel->getActiveSheet()->setTitle('三年级2班');

$objPHPExcel->setActiveSheetIndex(0);

$filename=urlencode('学生信息统计表').'_'.date('Y-m-dHis');

/*

*生成xlsx文件

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"');

header('Cache-Control: max-age=0');

$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');

*/

/*

*生成xls文件

header('Content-Type: application/vnd.ms-excel');

header('Content-Disposition: attachment;filename="'.$filename.'.xls"');

header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

*/

$objWriter->save('php://output');

exit;

php导出excel2007实例,php导入导出excel实例相关推荐

  1. oracle数据库导出灰色_Oracle数据库导入导出命令总结

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中.利用 ...

  2. mysql dump 导入导出_使用mysqldump导入导出数据

    DRDS支持MySQL官方数据导出工具mysqldump.本文围绕DRDS数据导入导出的几种常见场景对操作步骤和注意事项进行说明.mysqldump命令的详细说明请参见MySQL官方文档. mysql ...

  3. oracle导出数据视频教程,Oracle导入导出数据的几种方式

    oracle导入导出数据 1.导出dmp格式文件 --备份某几张表 !!!! exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp table ...

  4. android导入导出txt通讯录,Android导入导出txt通讯录工具

    最近刚换了一部android手机,由于触摸屏打字速度实在不敢恭维,导入几个常用的电话号码后就不想导了.为了一劳永逸,还是写一个tool来导入txt格式的联系人.(之前用山寨手机导出来的). andro ...

  5. linux中oracle导出dmp,linux下导入导出oracle的dmp文件

    1.导出dmp件 命令:exp QGTG/\"QGTG@orcl\" file=/usr/fuck.dmp exp QGTG/\"QGTG@orcl\" fil ...

  6. oracle可以导出的格式,Oracle导入导出数据的几种方式

    oracle导入导出数据 1.导出dmp格式文件 --备份某几张表 !!!! exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp table ...

  7. 英文版mysql数据导出_Data Loader(数据库导入导出)V4.9.4 英文版

    Data Loader(数据库导入导出)是一款专业可靠的数据库程序.能够导出和导入许多常见数据库之间的数据格式.如果你想转换MS SQL Server,CSV或女士访问MySQL,这是最好的工具有效地 ...

  8. mysql命令导出数据库_MYSQL 数据库导入导出命令

    在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生.所以一般推荐用SQL脚本形式导入.下面分别介绍两种方法. MySQL命令行导出数据库 1,进入MySQL目录下的bin ...

  9. mysq命令行导出sql_mysql 命令行导入导出 sql

    命令行source 导入数据库: 代码如下复制代码 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入 ...

最新文章

  1. 摄像头标定入门资料整理
  2. Matlab中的CVX工具包安装
  3. LeetCode 3_Longest Substring Without Repeating Characters
  4. 【渝粤题库】国家开放大学2021春1032成本管理题目
  5. 一定质量的封闭气体被压缩后_多晶硅氯氢化装置补充氢隔膜压缩机十字头铜套磨损原因分析与改善探讨...
  6. Linux查看进程下的线程
  7. 二分法实战教学快速入门(折半查找法)
  8. Unity Understanding Lifetime Managers
  9. Cognos 10.2.1安装
  10. 【数学建模】评价类算法
  11. html css js php常用网页代码汇总合集(一)网页设计入门代码知识汇总1
  12. 基于Java-EE和websocket的无人机网页监控系统(网页地面站-源码)
  13. 酷派大神F1移动版刷机教程卡刷教程
  14. Devcpp、Codeblocks如何设置支持c++11
  15. 陷波滤波器——周期性降噪
  16. Win7下使用VirtualBox虚拟机安装OS X 10.9 Mavericks
  17. 【C语言】童年的扫雷游戏(递归展开)你也可以做出来,将他发给你的网瘾室友玩吧 ——含详细注释及解析
  18. Java的三种程序基本结构
  19. 用python画熊_Python数据可视化:Pandas库,只要一行代码就能实现
  20. c语言:求正方体的表面积和体积

热门文章

  1. “你们程序员不就是修电脑的吗,你牛什么牛,移动应用开发专业就业前景
  2. 《机房收费系统》软件需求说明书
  3. 单体服务与分布式服务
  4. 进入新公司,如何做一份产品体验报告?
  5. matlab中的fft变换后的频率的缩放系数问题。
  6. T3升级到U8 步骤
  7. c++ stl库中begin()和end()的区别
  8. 专利实施的强制许可是什么意思
  9. sEMG项目总结(2)康复手控制系统
  10. eclipse 编辑java慢_eclipse编译慢 提高eclipse的性能