程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 導入數據到excel

php 導入數據到excel

編輯:關於PHP編程

class CsvFieldDump  {

 var $headers;
 var $fieldnum;
 function CsvFieldDump($infile){
  if(empty($infile)){
   die("You must specify a csv file to readn");
  }
  if(!file_exists($infile)){
   die("$infile doesn't exist!n");
  }
  $this->infile  = $infile;
  $this->fieldnum = $field;
  $this->createFile=0;
  return(true);
 }

 var $headers=array();
 function dump_headers($dumptoscreen=1){
  $this->fd=fopen($this->infile, "r") or die("Couldn't open csv file $file");
  $count=0;
  while($data = fgetcsv($this->fd, 1000, ",") ){
   if(!$count){
    if($dumptoscreen){
     print_r($data);
    }
    $this->headers=$data;
   }
   $count=1; 
  }
  return($this->headers);
 }

 function dump_column($num){


  $this->fieldnum = $num;
  $this->fd=fopen($this->infile, "r") or die("Couldn't open csv file $file");
  $count=0;
  while($data = fgetcsv($this->fd, 1000, ",")){
   $array=array();
   if(is_array($this->fieldnum)){
    foreach($this->fieldnum as $num){
     $array[]=$data[$num];
    }
   }else{
    $array = array($data[$this->fieldnum]);
   }
   $this->write_line($array);
  }
 }


 var $colname;
 var $headers_flip;
 function dump_column_by_name($name){
  if(!isset($name)){
   die("No field name specified");
  }
  $this->colname=$name;
  $this->dump_headers(0);
  $this->headers_flip = array_flip($this->headers);
  if(is_array($this->colname)){
   foreach($this->colname as $n){
    $array[] = $this->headers_flip[$n];
   }
  }else{
   $array[] = $this->headers_flip[$this->colname];
  }

  $this->dump_column($array);
 }

 function write_line($data){
  $string="";
  $num=count($data);
  for($x=0;$x<$num;$x++){
   $string.=$data[$x];
   if($x<$num-1){
    $string.=",";
   }
  }
  echo $string."n";
 }

}

 

/////////////////////// make it think its a c program :)
if(isset($argv[1])){

 $filename = $argv[count($argv)-1];

 if($argv[1] == "-h"){
  render_help();
  die();
 }else{
  $b=new CsvFieldDump($filename);
 }

 $x=0;
 foreach($argv as $opt){
  switch($opt) {
   case "df":
   case "-df" :
    $number = $argv[$x+1];
    if(strstr($number, ",")){
     $numbers = explode(",",$number);
    }else{
     $numbers = $number;
    }
    $b->dump_column($numbers);
   break;

   case "-dn":
    $number = $argv[$x+1];
    if(strstr($number, ",")){
     $names = explode(",",$number);
    }else{
     $names = $number;
    }
    $b->dump_column_by_name($names);
   break;

   case "--help":
   case "-h" :
    render_help(); 
   break;

   case "-dh" :
    $b->dump_headers();
   break;
  }
  $x++;
 }

}
function render_help(){
echo "CsvFieldDump version 0.0.0.1 by mark [email protected]
-df <n>    = dumps field(s) number n - also (accepts comma delimited list for multiple field numbers eg: -df 1,2,3)
-dn <N>    = dumps field(s) named N (accepts comma delimited list for multiple names eg: -dn Code,Desc)
-dh        = dumps csv headers
";
}


?>


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved