使用PHP导入Excel和导出数据为Excel文件
有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入。另外将mysql数据导出为Excel与本站上篇文章中导出CSV一样,只是将逗号分割符换成制表符,并修改header信息就可以了。
导入XLS
PHP-ExcelReader这是一个开源的项目,主要是来解析excel的文件,您可以到http://sourceforge.net/projects/phpexcelreader获取最新版的源码。下载之后解压,主要用到excel文件夹里面的两个文件reader.php和oleread.inc。
导入Xls处理流程:选择xls文件->上传xls文件到服务器->通过PHP-ExcelReader解析excel->批量入库。
include_once('reader.php');//引入PHP-ExcelReader
$tmp = $_FILES['file']['tmp_name'];
if(empty($tmp)){echo '请选择要导入的Excel文件!';exit;
}
$save_path = 'xls/';
$file_name = $save_path.date('Ymdhis').'.xls';//上传后的文件保存路径和名称
if(copy($tmp,$file_name)){$xls = new Spreadsheet_Excel_Reader();$xls->setOutputEncoding('utf-8');//设置编码$xls->read($file_name);//解析文件for($i=2;$i<=$xls->sheets[0]['numRows'];$i++){$name = $xls->sheets[0][$i][0];$sex = $xls->sheets[0][$i][1];$age = $xls->sheets[0][$i][2];$data_values .= "('$name','$sex','$age'),";}$data_values = substr($data_value,0,-1);//去掉最后一个逗号$query = mysql_query("insert into student (name,sex,age) values $data_values");//批量插入数据表中if($query){echo '导入成功!';}else{echo '导入失败!';}
}
PHP-ExcelReader读取上传的excel文件后,返回一个数组,里面包含了表格的所有信息,可以循环获取需要的信息。
导出XLS
导出XLS流程:读取学生信息表->循环记录构建制表符分隔的字段信息->设置header信息->导出文件(下载)到本地
$result = mysql_query('select * from student');
$str = "姓名\t性别\t年龄\t\n";
$str = iconv('utf-8','gb2312',$str);
while($row=mysql_fetch_array($result)){$name = iconv('utf-8','gb2312',$row['name']);$sex = iconv('utf-8','gb2312',$row['sex']);$str .= $name."\t".$sex."\t".$row['age']."\t\n";
}
$filename = date('Ymd').'.xls';
exportExcel($filename,$str);
exportExcel函数用于设置header信息。
function exportExcel($filename,$content){header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/vnd.ms-execl"); header("Content-Type: application/force-download"); header("Content-Type: application/download"); header("Content-Disposition: attachment; filename=".$filename);
header("Content-Transfer-Encoding: binary"); header("Pragma: no-cache"); header("Expires: 0"); echo $content;
}
此外,关于导入和导出Excel,还可以使用PHPExcel,这个非常强大,大家有空可以去研究,官方网站: http://www.codeplex.com/PHPExcel导入导出都成,可以导出office2007格式,同时兼容2003
使用PHP导入Excel和导出数据为Excel文件相关推荐
- php上传和导出excel文件,(进阶篇)使用PHP导入Excel和导出数据为Excel文件
有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入. 1.导入XLS PHP-ExcelReader这是一个 ...
- C#基于Npoi通过特性的方式导出简单数据到Excel或基于特性以及基于Excel模板导出数据到Excel以及从Excel中把数据导入到对象中
导出数据到Excel表格以及从Excel表格中读取数据是我们日常开发很多情况都会遇到的,这里或许只是导出一些简单的数据到excel,这里或许会按照一定的模板导出数据到excel,这里也可能需要从Exc ...
- php导入excel中文手册,使用PHP导入Excel和导出数据为Excel文件
有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入.另外将mysql数据导出为Excel与本站上篇文章中导出 ...
- js+excel+mysql_js导出数据到excel
方式一 var jsonData = [ { name:'路人甲', phone:'123456', email:'123@123456.com' }, { name:'炮灰乙', phone:'12 ...
- Qt导出数据到excel
Qt导出数据到excel Qt导出数据到excel,方法有很多,Qt里也有自带的axcontainer模块中的#include<QAxObject>类可以导出数据到excel,但是这种方法 ...
- C#导入导出数据到Excel的通用类源码
下面内容是关于C#导入导出数据到Excel的通用类的内容. public class ExcelIO { private int _ReturnStatus; private string _Retu ...
- 灰色模型代码GM(1,1),从excel导入数据,亦可导出数据到excel中。
灰色模型代码GM(1,1),从excel导入数据,亦可导出数据到excel中. 总结1:直接输出结果 %clc W= MicrosoftExcel;(从EXCEL导入数据后,matlab自动储存的数组 ...
- CATIA批量导入导出数据到EXCEL
CATIA批量导入导出数据到EXCEL 序言 一.EXCEL数据点批量导入到CATIA 二.CATIA数据点批量导入到EXCEL 三.VB批量输出点到EXCEL 序言 工作中,由于测量基准和建模基准不 ...
- java导出为excel文件_java导出数据到excel文件
有的时候,将一些有用的数据导出到excel是很有必要的.比如说,我现在在做一个学校的在线教学平台,有一个需求是:将学生成绩导出到excel文件中去. 那怎样实现用java导出数据到excel文件呢?? ...
最新文章
- 我的公交一卡通用不了了-_-
- JAVA工程师常用算法_算法工程师必须要知道的8种常用算法思想
- 【转】asp.net Core 系列【一】——创建Web应用
- SpringFramework之javax.servlet.http.HttpSession
- ObjectOutputStream 和 ObjectInputStream类的简单介绍,及运用。
- ionic应用在mac上使用Xcode7.2(7C68)进行iphone真机测试
- python 点云配准,python点云滤波 点云配准用python怎
- linux:fdisk分区命令详解
- sublime php code sniffer,Sublime插件CodeSniffer配置
- 动态拼接LINQ查询条件
- 《打造Facebook》书摘(1):CEO小扎
- WOS搜索输出文件的格式整理
- Linux内核全版本下载地址
- 中国最大–深圳企业列表
- (附源码)python方块新闻 毕业设计 091600
- 2021-2027全球与中国可变自耦变压器市场现状及未来发展趋势
- 缠论指标【缠论指标】
- 孟子正文 活动目录(Active Directory)域故障解决实例(转载)
- 前端开发实习工作之关于git的每天使用浅谈
- 操作无法完成 计算机名不正确,操作无法完成,键入的打印机名不正确,或者指定的打印机没有连接到服务器上。怎么处理?...
热门文章
- matplotlib可视化基本散点图、在图像多个指定区域绘制方框、进行自定义色彩填充(Draw Multiple Rectangles)
- IPython和Jupyter关系及区别
- mysql里条件语句和循环语句_MySQL与Oracle 差异比较之四条件循环语句
- 用python汇总pdf文件_Python处理PDF文件-简译与总结
- JAVA基础4-循环语句
- java+long.builder_Java LongStream.Builder accept()用法及代码示例
- mysql常用linux命令大全_Linux-MySQL常用命令(示例代码)
- 手机 html5评测,三款主流手机浏览器HTML5性能横向评测
- 在Ubuntu16.04上安装CUDA
- Python-anaconda-Spyder使用matplotlib画图无法显示报错解决:Figures now render in the Plots pane by default. To mak