<?php 
setlocale(LC_ALL, 'zh_CN'); 
$row = 1; 
$handle = fopen("xxx.csv","r"); 
while ($data = fgetcsv($handle, 1000, ",")) { 
    $num = count($data); 
    echo "<p> $num fields in line $row: <br>\n"; 
    $row++; 
    for ($c=0; $c < $num; $c++) { 
        echo $data[$c] . "<br>\n"; 
    } 

fclose($handle); 
?>
上面这个代码是 用php读取CSV文件的。  请问有其他的方法吗?
在论坛看到一个朋友发的这个代码
 <?php   
  $workbook   =   "D:\\www\\xtwh\\B01\\mysingle.xls";   
    
  $sheet   =   "list";     
    
  #实例化一个组件的对象     
  $ex   =   new   COM("Excel.sheet")   or   Die   ("Did   not   connect");     
    
  #打开工作本使我们可使用它     
  $wkb   =   $ex->application->Workbooks->Open($workbook)   or   Die   ("Did   not   open");     
    
  #读单元格数据     
  $sheets   =   $wkb->Worksheets($sheet);   #Select   the   sheet     
  $sheets->activate;   #Activate   it     
  //$cell->activate;   #Activate   the   cell   .If   this,   you   can   modify   the   cell   data.   
    
    
  for($i=2;$i<=2501;$i++)   
  {   
  $a=$sheets->Cells($i,A); if($a->value   ==   "last") break;   
    
  $b=$sheets->Cells($i,B); $bp[]=$b->value;   
  $c=$sheets->Cells($i,C); $cp[]=$c->value;   
  $d=$sheets->Cells($i,D); $dp[]=$d->value;   
  $e=$sheets->Cells($i,E); $ep[]=$e->value;   
  $f=$sheets->Cells($i,F); $fp[]=$f->value;   
  $g=$sheets->Cells($i,G); $gp[]=$g->value;   
  $h=$sheets->Cells($i,H); $hp[]=$h->value;   
  }   
    
  $ex->application->ActiveWorkbook->Close("False");   
  unset   ($ex);   
    
  require_once("../../conn.php");     
  $sql0="DELETE   FROM   `newyonghu`";   
  $result0=mysql_query($sql0,$mylink);   
  mysql_free_result($result0);     
    
  for($i=0;$i<count($bp);$i++)   
  {   
  $sql="INSERT   INTO   `newyonghu`   (`name`,   `dept`,   `team`,   `group01`,   `position`,   `mingzi`,   `single`,   `info`)   VALUES   ('".$bp[$i]."',   '".$fp[$i]."',   '".$dp[$i]."',   '".$ep[$i]."',   '".$gp[$i]."',   '".$cp[$i]."',   '".$hp[$i]."',   'single');";   
  $result=mysql_query($sql,$mylink);   
  }   
  echo   "<script   language=\"Javascript\">";   
  echo   "window.close()";   
  echo   "</script>";   
    
  mysql_free_result($result);   //释放结果内存资源     
  mysql_close($mylink);                 //   断开连接     
    
  ?>
这个是他说的  
通过php将excel导到mysql后,页面显示没有找到网页?如何解决?   
  我跟据网上的代码写的。共有1000笔记录,数据也导到了mysql。非常奇怪!我对com一点也不了解。  
到底该怎么做呢

解决方案 »

  1.   

    Excel.sheet组件是ms提供的标准com组件,你可以到msdn上找到组件的使用方法,了解一下工作原理.
    通过php将excel导到mysql后,页面显示没有找到网页?如何解决?  
    ==========================================
    将数据导放到mysql后,就是php和mysql之间的关系了.不知道你这为啥找不到网页!
      

  2.   

    如果服务器是linux的 能用MS的这个组件吗?
      

  3.   

    COM函数仅可用于PHP的Windows版本!
      

  4.   

    linux下面有什么方法用php读取excel呢?
      

  5.   

    com COM::COM ( string $module_name [, mixed $server_name [, int $codepage [, string $typelib]]] )
    是可以的,不过你要有一个运行com的windows服务器,在linux服务器上需要运行com的地方,找定这台服务器.
    手册上讲,如果在指定的com服务器上找不到的话,则运行本地服务器上的,很显示,你本地没有com,所以就不行了.手册上说的,理论上是可以的,但具体还要你自己来尝试.不过提供一个com的服务器,还真是有点浪费,哈哈.
      

  6.   

    Excel的文件格式
    http://sc.openoffice.org/excelfileformat.pdf
    PEAR中相应工具类,我粗步看了一下,是用操作二进制的方式读写方式来操作的Excel(不是用com),所以应该就不存在平台的问题
    http://pear.php.net/manual/en/package.fileformats.spreadsheet-excel-writer.php
      

  7.   

    又是COM组件  看着就头疼