PHPexcel的用法

时间:2022-03-23 22:16:08

由于经常要统计学生的考试成绩,就研究了下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的用法的更多相关文章

  1. PHP操作Excel – PHPExcel 基本用法详解

    导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer ...

  2. phpexcel简单用法

    <?php /*php生成excel完整实例代码现求:php生成excel完整实例代码最好能说明如何调用!谢谢java_sunhui4 | 浏览 8131 次 2014-09-24 14:502 ...

  3. PHPExcel 基本用法详解

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

  4. PHP操作Excel – PHPExcel 基本用法

    利用PHP实现对于Excel的写入和读取,主要借助于PHPExcel插件来完成. 准备工作: 1.下载PHPExcel的SDK,下载地址:https://github.com/PHPOffice/PH ...

  5. 学习PHPExcel

    关于PHPExcel使用方法,可以参考慕课网的教程,链接在此 PHPExcel的github地址:https://github.com/PHPOffice/PHPExcel 下载之后,将文件夹中的Cl ...

  6. Atitit&period;excel导出 功能解决方案 php java C&num;&period;net版总集合&period;doc

    Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...

  7. php更新修改excel中的内容例子

    代码如下 复制代码 //模板存放目录$dir = $DOCUMENT_ROOT.'/backoffice/admin/oemcheck/';  $templateName = '1.xlsx';$ou ...

  8. 项目中phpexcel的基本用法

    前提:要下载PHPEXCEL库文件 如:phpexcel官方下载    ,本人使用下载 情形一:对于将数据写入EXCEL表中的用法 header("content-type:text/htm ...

  9. php利用PHPExcel类导出导入Excel用法

    PHPExcel类是php一个excel表格处理插件了,下面我来给大家介绍利用PHPExcel类来导入与导出excel表格的应用方法,有需要了解的朋友不防参考参考(PHPExcel自己百度下载这里不介 ...

随机推荐

  1. Query Mobile学习笔记

    1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ...

  2. weblogic重置用户名密码。

    说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录 例如我的做测试的域的根目DOMAIN_HOME=D:\bea\user_projects\domains\b ...

  3. hdu 1069

    //Accepted 264 KB 0 ms //每种block只有三种方法,且每种放法至多放一次 //规定三条边的顺序后 //把所有的block按x递增排序,x相同则按y递增排序 //然后dp // ...

  4. 细数C&plus;&plus;和C的差别

    C++语言是对C语言的扩展.所以熟悉C语言的人会发现.本书的第01~18章讲的内容基本上和C语言的内容差点儿相同. C++一方面对C语言的语法进行了改动.还有一方面又加入一些新的概念. C++中新增的 ...

  5. hdu1033

    #include<stdio.h> #include<string.h> const int MAXN=200; char str[MAXN]; int main() { in ...

  6. MVCC的一些理解

    link 一.MVCC简介 MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控 ...

  7. AndroidDevTools

    收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具. ...

  8. 设计模式-建造者模式(Builder)

    简介: 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程创建出不同的表示. 结构图: 优点: 使得创建代码和表示代码分离,建造者隐藏了该产品是如何组装的,所以若需要改变一个产品内部的表示,只需 ...

  9. 微信支付遇到的坑---缺少参数total&lowbar;fee

    今天在做微信砍价成功后支付,出现了这个报错 看到报错后,去找total_fee这个参数,调试了半天,total_fee是确定有值的 微信支付的步骤 ① 预支付 商户号,商户秘钥,appid,appse ...

  10. &num;ifndef HeaderName&lowbar;h &num;define HeaderName&lowbar;h &num;endif 使用详解&lpar;转&rpar;

    原文:#ifndef HeaderName_h #define HeaderName_h #endif 使用详解 想必很多人都看到过头文件中写有:#ifndef HeaderName_h       ...