• 常用函数整理 4(excel csv)


    <?php

    /**
    * csv_get_lines 读取CSV文件中的某几行数据
    * @param $csvfile csv文件路径
    * @param $lines 读取行数
    * @param $offset 起始行数
    * @return array
    * */
    function csv_get_lines($csvfile, $lines=1000, $offset = 0) {
    if(!$fp = fopen($csvfile, 'r')) {
    return false;
    }
    $i = $j = 0;
    while (false !== ($line = fgets($fp))) {
    if($i++ < $offset) {
    continue;
    }
    break;
    }
    $data = array();
    while(($j++ < $lines) && !feof($fp)) {
    $data[] = fgetcsv($fp);
    }
    fclose($fp);

    return $data;
    }?>

    <?php
    require('PHPExcel.php');//引入PHP EXCEL类  可以通过此链接下载:http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=phpexcel&DownloadId=809023&FileTime=130382506270130000&Build=21018
    function format_excel2array($filePath='',$sheet=0){
    if(empty($filePath) or !file_exists($filePath)){die('file not exists');}
    $PHPReader = new PHPExcel_Reader_Excel2007(); //建立reader对象
    if(!$PHPReader->canRead($filePath)){
    $PHPReader = new PHPExcel_Reader_Excel5();
    if(!$PHPReader->canRead($filePath)){
    echo 'no Excel';
    return ;
    }
    }
    $PHPExcel = $PHPReader->load($filePath); //建立excel对象
    $currentSheet = $PHPExcel->getSheet($sheet); //**读取excel文件中的指定工作表*/
    $allColumn = $currentSheet->getHighestColumn(); //**取得最大的列号*/
    $allRow = $currentSheet->getHighestRow(); //**取得一共有多少行*/
    $data = array();
    for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){ //循环读取每个单元格的内容。注意行从1开始,列从A开始
    for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
    $addr = $colIndex.$rowIndex;
    $cell = $currentSheet->getCell($addr)->getValue();
    if($cell instanceof PHPExcel_RichText){ //富文本转换字符串
    $cell = $cell->__toString();
    }
    $data[$rowIndex][$colIndex] = $cell;
    }
    }
    return $data;
    }

    ?>

  • 相关阅读:
    三种创建线程的方式详解。
    HashMap详解 基于jdk1.7
    Urlrewritefilte
    windows下搭建Nexus3私服和基于IDEA15的Maven学习笔记
    SEVERE: Error listenerStart
    我理解的设计模式-------抽象工厂模式
    activemq启动不起来,报错Address already in use: JVM_Bind
    Hibernate一对一双向关联(外键)
    http请求错误码
    跨域(一)
  • 原文地址:https://www.cnblogs.com/xiaochu/p/4609719.html
Copyright © 2020-2023  润新知