zoukankan      html  css  js  c++  java
  • PHP读写Excel

    PHP读写Excel

    PHP读写Excel可以通过第三方库phpexcel比较优雅地完成,由于PHP对于字符串处理的优势,读写PHP非常方便。

    库导入

    这里使用composer包管理工具,以下是配置信息

    {
        "name": "",
        "description": "test the excel",
        "require": {
            "PHPExcel/PHPExcel":"*"   
        }
    }
    

    配置文件写完后composer update即可完成配置

    使用样例

    <?php
    // include "./vendor/autoload.php";
    include "./vendor/phpexcel/phpexcel/Classes/PHPExcel.php";
    
    $objPHPExcel = new PHPExcel(); #创建Excel实例
    #添加数据(指定位置修改数据)
    $objPHPExcel->setActiveSheetIndex(0); //设置激活表格
    #设置单元格数据
    $objPHPExcel->getActiveSheet()->setCellValue("A1",'Hello');
    $objPHPExcel->getActiveSheet()->setCellValue('A2', true);  
    $objPHPExcel->getActiveSheet()->setCellValue('A3', false);  
    $objPHPExcel->getActiveSheet()->setCellValue('B2', 'world!');  
    $objPHPExcel->getActiveSheet()->setCellValue('B3', 2);  
    $objPHPExcel->getActiveSheet()->setCellValue('C1', 'Hello');  
    $objPHPExcel->getActiveSheet()->setCellValue('D2', 'world!');  
    #循环方式添加数据
    for($i=1; $i<200; $i++)
    {
        $objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$i);
        $objPHPExcel->getActiveSheet()->setCellValue('B'.$i,"你好");
    }
    #数据写入文件
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');  
    $objWriter->save('test.xlsx');  
    
    #读取数据
    $objReader = PHPExcel_IOFactory::createReaderForFile("test.xlsx");
    $objExcel = $objReader->load('test.xlsx');
    $objExcel->setActiveSheetIndex(0); //选择数据表格
    var_dump($objExcel->getActiveSheet()->getCell('B1')->getValue());# string(6) "你好"
    ?>
    

    注意

    在浏览器上运行时会报错

    Warning: unlink(test.xlsx): Permission denied ······

    Warning: ZipArchive::close(): Failure to create temporary file: Permission denied in ······

    Fatal error: Uncaught Exception: Could not close zip file test.xlsx. in ······

    因为服务器没有权限向客户端读写文件(否则简直太可怕了)。因此该应用要在命令行中执行才可以运行

    php main.php
    

    这是一种CLI应用。

  • 相关阅读:
    linux & xp 双系统 重装的问题
    判断推理类试题的复言命题考点与题型总结
    Oracle、MySQL、SQL Server数据库的数据类型的差异
    java环境变量设置和问题及解决方法
    如何正确卸载MySQL,主要是删除注册表中的垃圾信息
    J2EE经典面试题及答案
    正则表达式
    囚犯的两难处境
    MySQL 数值数据类型
    linux学习之SHELL脚本
  • 原文地址:https://www.cnblogs.com/fanghao/p/7436733.html
Copyright © 2011-2022 走看看