账户中心 我的话题 我的评论 退出系统

excel 读写操作

功能说明
excel 读写操作基于 PHPExecl 类库,可以方便的对 Excel 进行操作。

部署说明

下载 PHPExcel.zip 解压后将全部文件部署到 phpGrace/tools 下


调用说明
遵守第三方类库规则(加载、命名空间),使用 tool() 函数实例化。

生成 Excel 演示

<?php
class indexController extends grace{
    public function index(){
        $excel = tool('PHPExcel');
        //基础信息
        $excel->getProperties()->setCreator("phpGrace")
                             ->setLastModifiedBy("phpGrace")
                             ->setTitle("phpGrace demo")
                             ->setSubject("objPHPExcel");
           //设置 sheet 名称
           $excel->getActiveSheet(0)->setTitle('学生信息表');
        //标题
        $excel->setActiveSheetIndex(0)
                    ->setCellValue('A1', '姓名')
                    ->setCellValue('B1', '性别')
                    ->setCellValue('C1', '年龄');
        
        //数据填充【此数据可以来自数据库】
        $data = array(
            array('张三', '男', 18),
            array('李四', '男', 20),
            array('lucy', '女', 18)
        );
        $i = 2;
        foreach($data as $rows){
            $excel->setActiveSheetIndex(0)
                    ->setCellValue('A'.$i, $rows[0])
                    ->setCellValue('B'.$i, $rows[1])
                    ->setCellValue('C'.$i, $rows[2]);
            $i++;
        }
        //保存为 xls
        $objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
        $objWriter->save('t.xls');
    }
}


读取 excel - tool('PHPExcelReader');
使用 PHPExcelReader 可以快速的读取 excel 内容,返回数据格式:

array(
    //sheet 数据,多个元素对应数组 index
    0 => array(
        // 工作表名
        'title' => 'sheet 名称',
        //工作表数据
        'data'  => array(
            //每一行数据
            0 => array(单元内容, 单元内容,...)
            1 => array(......)
        )
    ),
    1 => array(......)
);


读取演示

<?php
class indexController extends grace{
    public function index(){
        //实例化 excel 读取对象
        $PHPExcelReader = tool('PHPExcelReader');
        //读取指定的 excel 文件
        $sheets = $PHPExcelReader->read('t.xls');
        echo '<h2>'.$sheets[0]["title"].'</h2>';
        echo '<table>';
        foreach($sheets[0]['data'] as $sheet){
            echo '<tr>
                <td>'.$sheet[0].'</td>
                <td>'.$sheet[1].'</td>
                <td>'.$sheet[2].'</td>
            </tr>';
        }
        echo '</table>';
        echo '<h2>'.$sheets[1]["title"].'</h2>';
        echo '<table>';
        foreach($sheets[1]['data'] as $sheet){
            echo '<tr>
                <td>'.$sheet[0].'</td>
                <td>'.$sheet[1].'</td>
            </tr>';
        }
        echo '</table>';
    }
}


更多资料
关于 PHPExcel 更多的介绍资料: https://blog.csdn.net/pengone/article/details/47724423