PHPexcel的用法
由于经常要统计学生的考试成绩,就研究了下PHPexcel这个插件
顺便说一下,读取方法只针对xls文件。
如果报错,可以先生存一个xls文件,把需要读取的xls内容复制进去。
<?php
//读取excel文件
header("Content-type:text/html;charset=utf-8");
include 'Classes/PHPExcel/IOFactory.php'; function __construct(){
include_once('Classes/PHPExcel.php');
} function read ($filename){
$objReader=PHPExcel_IOFactory::createReader('Excel5'); $objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($filename);
$objWorksheet = $objPHPExcel->getActiveSheet();
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); $excelData = array();
for ($row = 1; $row <= $highestRow; $row++) {
for ($col = 0; $col < $highestColumnIndex; $col++) {
$excelData[$row][] =(string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
}
} return $excelData;
}
$result= read('1.xls');
var_dump($result);
<?php
//向xls文件写入内容
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
include 'Classes/PHPExcel.php';
include 'Classes/PHPExcel/IOFactory.php';
//$data:xls文件内容正文
//$title:xls文件内容标题
//$filename:导出的文件名
//$data和$title必须为utf-8码,否则会写入FALSE值
function write_xls($data=array(), $title=array(), $filename='report'){
$objPHPExcel = new PHPExcel();
//设置文档属性,设置中文会产生乱码,需要转换成utf-8格式!!
// $objPHPExcel->getProperties()->setCreator("云舒")
// ->setLastModifiedBy("云舒")
// ->setTitle("产品URL导出")
// ->setSubject("产品URL导出")
// ->setDescription("产品URL导出")
// ->setKeywords("产品URL导出");
$objPHPExcel->setActiveSheetIndex(0); $cols = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
//设置www.jb51.net标题
for($i=0,$length=count($title); $i<$length; $i++) {
//echo $cols{$i}.'1';
$objPHPExcel->getActiveSheet()->setCellValue($cols{$i}.'1', $title[$i]);
}
//设置标题样式
$titleCount = count($title);
$r = $cols{0}.'1';
$c = $cols{$titleCount}.'1';
$objPHPExcel->getActiveSheet()->getStyle("$r:$c")->applyFromArray(
array(
'font' => array(
'bold' => true
),
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT,
),
'borders' => array(
'top' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN
)
),
'fill' => array(
'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
'rotation' => 90,
'startcolor' => array(
'argb' => 'FFA0A0A0'
),
'endcolor' => array(
'argb' => 'FFFFFFFF'
)
)
)
); $i = 0;
foreach($data as $d){ //这里用foreach,支持关联数组和数字索引数组
$j = 0;
foreach($d as $v){ //这里用foreach,支持关联数组和数字索引数组
$objPHPExcel->getActiveSheet()->setCellValue($cols{$j}.($i+2), $v);
$j++;
}
$i++;
}
// 生成2003excel格式的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');
} $array = array(
array(1111,'名称','品牌','商品名','http://www.jb51.net'),
array(1111,'名称','品牌','商品名','http://www.jb51.net'),
array(1111,'名称','品牌','商品名','http://www.jb51.net'),
array(1111,'名称','品牌','商品名','http://www.jb51.net'),
array(1111,'名称','品牌','商品名','http://www.jb51.net'),
);
write_xls($array,array('商品id','供应商名称','品牌','商品名','URL'),'report'); ?>
PHPexcel的用法的更多相关文章
- PHP操作Excel – PHPExcel 基本用法详解
导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer ...
- phpexcel简单用法
<?php /*php生成excel完整实例代码现求:php生成excel完整实例代码最好能说明如何调用!谢谢java_sunhui4 | 浏览 8131 次 2014-09-24 14:502 ...
- PHPExcel 基本用法详解
.header header("Content-Type:application/vnd.ms-excel"); header("Content-Disposition: ...
- PHP操作Excel – PHPExcel 基本用法
利用PHP实现对于Excel的写入和读取,主要借助于PHPExcel插件来完成. 准备工作: 1.下载PHPExcel的SDK,下载地址:https://github.com/PHPOffice/PH ...
- 学习PHPExcel
关于PHPExcel使用方法,可以参考慕课网的教程,链接在此 PHPExcel的github地址:https://github.com/PHPOffice/PHPExcel 下载之后,将文件夹中的Cl ...
- Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc
Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...
- php更新修改excel中的内容例子
代码如下 复制代码 //模板存放目录$dir = $DOCUMENT_ROOT.'/backoffice/admin/oemcheck/'; $templateName = '1.xlsx';$ou ...
- 项目中phpexcel的基本用法
前提:要下载PHPEXCEL库文件 如:phpexcel官方下载 ,本人使用下载 情形一:对于将数据写入EXCEL表中的用法 header("content-type:text/htm ...
- php利用PHPExcel类导出导入Excel用法
PHPExcel类是php一个excel表格处理插件了,下面我来给大家介绍利用PHPExcel类来导入与导出excel表格的应用方法,有需要了解的朋友不防参考参考(PHPExcel自己百度下载这里不介 ...
随机推荐
- C 编译过程浅析
From where i stand, there are two programmig languages in the world, which is C lang and the other. ...
- Linux 开机启动图形界面,shell界面
查看当前启动模式 # systemctl get-default 更改模式命令: systemctl set-default graphical.target由命令行模式更改为图形界面模式 syste ...
- Hive配置永久显示表字段名并且不显示表名
1 配置文件 hive/conf下hive-site.xml /mnt/software/hive-1.1.0-cdh5.7.0/conf 2 添加配置项 <!--不显示表名--> < ...
- Database学习 - mysql 连接数据库 库操作
连接数据库 语法格式: mysql -h 服务器IP -P 端口号 -u用户名 -p密码 --prompt 命令提示符 --delimiter 指定分隔符 示例: mysql -h 127.0.0.1 ...
- android 使用web查看SQLite数据
添加依赖: compile 'com.facebook.stetho:stetho:1.4.2'compile 'com.facebook.stetho:stetho-okhttp3:1.4.2' 初 ...
- escape、encodeURI和encodeURIComponent的区别
1.简单解释 简单来说,escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读. 编码之后的效果是%XX或者%uXXXX这种形式. 其中 ASCII字母. ...
- Properties文件工具类的使用--获取所有的键值、删除键、更新键等操作
有时候我们希望处理properties文件,properties文件是键值对的文件形式,我们可以借助Properties类操作. 工具类如下:(代码中日志采用了slf4j日志) package cn. ...
- ubuntu 14.04界面美化
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABVYAAAMACAIAAABAXKuVAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4Xu
- Java 集合系列0、概述
概述: Collection 框架中 从最上层的核心主干可以看到:Iterator.Collection.Map 三个接口(拓展思考1)1.Collection 接口:主要包括了集合中的一些常用操作, ...
- mysql系列一、mysql数据库规范
一. 表设计 库名.表名.字段名必须使用小写字母,“_”分割. 库名.表名.字段名必须不超过12个字符. 库名.表名.字段名见名知意,建议使用名词而不是动词. 表必须使用InnoDB存储引擎. 表必须 ...