当前位置:首页 > PHP教程 > php高级应用 > 列表

phpexcel导出与读取excel的经典实例

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-15 15:11:31 浏览: 评论:0 

phpexcel可以让开发者方便快捷的来操作xls文件了,我们下文来整理几个关于phpexcel对数据导入与导出例子.

PHPExcel读取excel文件,实例代码如下:

  1. require_once('include/common.inc.php'); 
  2.    require_once(ROOTPATH . 'include/phpExcel/PHPExcel/IOFactory.php'); 
  3.     
  4.    $filePath = './file/xls/110713.xls';  
  5.     
  6.    $fileType = PHPExcel_IOFactory::identify($filePath); //文件名自动判断文件类型 
  7.    $objReader = PHPExcel_IOFactory::createReader($fileType); 
  8.    $objPHPExcel = $objReader->load($filePath); 
  9.     
  10.    $currentSheet = $objPHPExcel->getSheet(0); //第一个工作簿 
  11.    $allRow = $currentSheet->getHighestRow(); //行数 
  12.    $output = array(); 
  13.    $preType = ''
  14.     
  15.    $qh = $currentSheet->getCell('A4')->getValue(); 
  16.    //按照文件格式从第7行开始循环读取数据 
  17.    for($currentRow = 7;$currentRow<=$allRow;$currentRow++){  
  18.        //判断每一行的B列是否为有效的序号,如果为空或者小于之前的序号则结束 
  19.        $xh = (int)$currentSheet->getCell('B'.$currentRow)->getValue(); 
  20.        if(emptyempty($xh))break
  21.         
  22.        $tmpType = (string)$currentSheet->getCell('C'.$currentRow)->getValue(); //赛事类型 
  23.        if(!emptyempty($tmpType))$preType = $tmpType
  24.        $output[$xh]['type'] = $preType
  25.        $output[$xh]['master'] = $currentSheet->getCell('F'.$currentRow)->getValue(); //主队 
  26.        $output[$xh]['guest'] = $currentSheet->getCell('H'.$currentRow)->getValue(); //客队     
  27.    } 
  28.     
  29.    //从当前行开始往下循环,取出第一个不为空的行 
  30.    for( ; ; $currentRow++){ 
  31.        $xh = (int)$currentSheet->getCell('B'.$currentRow)->getValue(); 
  32.        if(!emptyempty($xh))break
  33.    } 
  34.     
  35.    for( ; $currentRow <= $allRow$currentRow++){ 
  36.        $xh = (int)$currentSheet->getCell('B'.$currentRow)->getValue(); 
  37.        if(emptyempty($xh))break
  38.         
  39.        $output[$xh]['rq'] = $currentSheet->getCell('I'.$currentRow)->getValue(); 
  40.    } 
  41.    header("content-type:text/html; charset=utf-8"); 
  42.     
  43.    echo '期号:' . $qh . "\n\n"
  44.    if(!emptyempty($output)){ 
  45.        printf("%-5s\t%-15s\t%-40s\t%-40s\t%-5s\n"'序号''赛事类型''主队''客队''让球值'); 
  46.        foreach($output as $key => $row){ 
  47.            $format = "%-5d\t%-15s\t%-40s\t%-40s\t%-5s\n"
  48.            printf($format$key$row['type'], $row['master'], $row['guest'], $row['rq']); 
  49.        } 
  50.    } 

phpexcel导出excel数据

在服务器端生成静态文件,相比直接生成,这两种方法的主要区别是生成格式的不同,模板文件完全相同,下边是一个在上例基础上更改后的样子,注意与上例的区别,代码如下:

  1. <?php   
  2. // 包含class的基本头文件 
  3. include("./class/class.php"); 
  4. // 生成excel的基本类定义(注意文件名的大小写) 
  5. include("./class/phpexcel/PHPExcel.php"); 
  6. // 包含写Excel5格式的文件,如果需要生成excel2007的文件,包含对应的Writer即可 
  7. include("./class/phpexcel/PHPExcel/Writer/Excel5.php"); 
  8. // 包含写PDF格式文件 
  9. include("./class/phpexcel/PHPExcel/Writer/PDF.php"); 
  10. // 创建phpexcel对象,此对象包含输出的内容及格式 
  11. $m_objPHPExcel = new PHPExcel(); 
  12. // 模板文件,为了实现格式与内容分离,有关输出文件具体内容实现在模板文件中 
  13. // 模板文件将对象$m_objPHPExcel进行操作 
  14. include("./include/excel.php"); //开源软件:phpfensi.com 
  15. // 输出文件的类型,excel或pdf 
  16. $m_exportType = "pdf"
  17. $m_strOutputExcelFileName = date('Y-m-j_H_i_s').".xls"// 输出EXCEL文件名 
  18. $m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"// 输出PDF文件名 
  19. // 输出文件保存路径,此路径必须可写 
  20. $m_strOutputPath = "./output/"
  21. // 如果需要输出EXCEL格式 
  22. if($m_exportType=="excel"){ 
  23. $objWriter = new PHPExcel_Writer_Excel5($m_objPHPExcel); 
  24. $objWriter->save($m_strOutputPath.$m_strOutputExcelFileName);   
  25. // 如果需要输出PDF格式 
  26. if($m_exportType=="pdf"){ 
  27. $objWriter = new PHPExcel_Writer_PDF($m_objPHPExcel); 
  28. $objWriter->save($m_strOutputPath.$m_strOutputPdfFileName);   
  29. ?>

Tags: phpexcel导出 phpexcel excel

分享到: