phpexcel读取输出操作
//读取
<?php
header("Content-Type:text/html;charset=utf-8");
    include 'Classes/PHPExcel.php';            
    include 'Classes/PHPExcel/IOFactory.php';
function readxls($file, $type) {
        $xlsReader = PHPExcel_IOFactory::createReader($type);  
        $xlsReader->setReadDataOnly(true);
        $xlsReader->setLoadSheetsOnly(true);
        $sheets = $xlsReader->load($file);
        $content = $sheets->getSheet(0)->toArray(); //读取第一个工作表(注意编号从0开始) 如果读取多个可以做一个循环0,1,2,3....
        //得到二维数组,每个小数组是excel表格内容的一行 里面包含此行的每列的数据  
        return $content;
    }
//$type = 'Excel2007'; //设置要解析的Excel类型 Excel5(2003或以下版本)或Excel2007
    $type = 'Excel5';
    $content = readxls('data.xls', $type);
    echo '<pre>';
    var_dump($content);
    echo '</pre>';
//输出写入,数据多的话必须用类一次次调用方法导出,不然会内存溢出
<?php
header('Content-Type:text/html;charset=utf-8');
class excel
{
    public function export()
    {
        //导出函数
        function write_xls($data=array(), $title=array(), $filename='report'){
            include 'PHPExcel_1.8.0_doc/Classes/PHPExcel.php';
            include 'PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php';
            set_time_limit(0);
            $objPHPExcel = new PHPExcel();
            $objPHPExcel->setActiveSheetIndex(0);
            $cols = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
            //设置标题
            for($i=0,$length=count($title); $i<$length; $i++) {
                $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');*/
// 生成2007excel格式的xls文件保存到指定路径
            $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
            $objWriter->save($filename.'.xlsx');
        }
//导出
$start_num=trim($_GET['start_num']);
        $total_num=trim($_GET['total_num']);
        mysql_connect('localhost','root','');
        mysql_query('set names utf8');
        mysql_query('use test');
$sql="select id,name,pid from shop order by id asc limit $start_num,$total_num";
        $res=mysql_query($sql);
        while($ret=mysql_fetch_assoc($res))
        {
            $arr[]=$ret;
        }
        $arr_type=array('商品id','名称','品牌id');
        write_xls($arr,$arr_type,time());
    }
}
//实例化调用
$obj=new excel();
$obj->export();
phpexcel读取输出操作的更多相关文章
- PHPExcel读取excel文件示例
		
PHPExcel读取excel文件示例PHPExcel最新版官方下载网址:http://phpexcel.codeplex.com/PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包 ...
 - PHPExcel读取表格内容
		
PHPExcel读取表格 先引入类IOFactory.php require_once '../PHPExcel/IOFactory.php'; $filePath = "test.xlsx ...
 - (实用篇)PHPExcel读取Excel文件的实现代码
		
用PHPExcel读取Excel 2007 或者Excel2003文件,需要的朋友,可以参考下. 涉及知识点: php对excel文件进行循环读取 php对字符进行ascii编码转化,将字符转为十进 ...
 - 多线程爬虫Java调用wget下载文件,独立线程读取输出缓冲区
		
写了个抓取appstore的,要抓取大量的app,本来是用httpclient,但是效果不理想,于是直接调用wget下载,但是由于标准输出.错误输出的原因会导致卡住,另外wget也会莫名的卡住. 所以 ...
 - phpexcel的写操作将数据库中的数据导入到excel中
		
这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...
 - phpexcel 读取数据
		
最近公司做一个客户导入会员的功能,以前导入都是使用csv格式导入的,但是客户反应问题挺多的,普遍是乱码(由于各种系统各种环境可能引起编码问题).最近想着就把这个导入完全改成excel导入,就研究了下p ...
 - 【Python】python读取文件操作mysql
		
尾大不掉,前阵子做检索测试时,总是因为需要业务端操作db和一些其他服务,这就使得检索测试对环境和数据依赖性特别高,极大提高了测试成本. Mock服务和mysql可以很好的解决这个问题,所以那阵子做了两 ...
 - 利用PHPExcel读取Excel的数据和导出数据到Excel
		
PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景.比如有个客户信息表,要批量导出发给同事,我 ...
 - python第二十九课——文件读写(读取数据操作)
		
演示读取数据操作:path=r'a.txt' 1.打开文件f1=open(path,'r') 2.读取数据content1=f1.read(3)print(content1) content1=f1. ...
 
随机推荐
- Fis3的前端工程化之路[三大特性篇之资源定位]
			
Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...
 - 前端CSS预处理器Sass
			
前面的话 "CSS预处理器"(css preprocessor)的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.SASS是一种CSS的开发工 ...
 - [C#] string 与 String,大 S 与小 S 之间没有什么不可言说的秘密
			
string 与 String,大 S 与小 S 之间没有什么不可言说的秘密 目录 小写 string 与大写 String 声明与初始化 string string 的不可变性 正则 string ...
 - Android 5.0 到 Android 6.0 + 的深坑之一 之 .so 动态库的适配
			
(原创:http://www.cnblogs.com/linguanh) 目录: 前序 一,问题描述 二,为何会如此"无情"? 三,目前存在该问题的知名SDK 四,解决方案,1 对 ...
 - IOS FMDB 获取数据库表和表中的数据
			
ios开发中,经常会用到数据库sqlite的知识,除了增,删,改,查之外,我们说说如何获取数据库中有多少表和表相关的内容. 前言 跟数据库使用相关的一般的增删改查的语句,这里就不做解释了.在网上有很多 ...
 - bzoj1079--记忆化搜索
			
题目大意:有n个木块排成一行,从左到右依次编号为1~n.你有k种颜色的油漆,其中第i种颜色的油漆足够涂ci个木块.所有油漆刚好足够涂满所有木块,即c1+c2+...+ck=n.相邻两个木块涂相同色显得 ...
 - RabbitMQ + PHP (三)案例演示
			
今天用一个简单的案例来实现 RabbitMQ + PHP 这个消息队列的运行机制. 主要分为两个部分: 第一:发送者(publisher) 第二:消费者(consumer) (一)生产者 (创建一个r ...
 - SQLServer如何添加try catch
			
在.net中我们经常用到try catch.不过在sqlserver中我们也可以使用try catch捕捉错误,在这里把语法记录下来和大家分享一下, --构建存储过程CREATE PROCEDURE ...
 - 《Ansible权威指南》笔记(2)——Inventory配置
			
四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...
 - Linux下高cpu解决方案
			
昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这个issue的任务分给了我,客 ...