• 常用函数整理 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;
    }

    ?>

  • 相关阅读:
    laravel 博客
    VSSより、指定したファイルを取得するマクロ(パス入り)
    使用SQLPlus连接Oracle实例
    SSH-Struts第四弹:Struts2学习过程中遇到的问题
    SSH-Struts第三弹:传智播客视频教程第一天上午的笔记
    Prim和Kruskal求最小生成树
    tarjan算法求强连通分量
    shutdown TCP 端口445
    Eclipse导出apk
    [模板]tarjan求强连通分量
  • 原文地址:https://www.cnblogs.com/xiaochu/p/4609719.html
Copyright © 2020-2023  润新知