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 $string.=$data[$x];

if($x $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 fate_amendable_to_change@yahoo.com

-df = dumps field(s) number n - also (accepts comma delimited list for multiple field numbers eg: -df 1,2,3)

-dn = dumps field(s) named N (accepts comma delimited list for multiple names eg: -dn Code,Desc)

-dh = dumps csv headers

";

}

?>

http://www.bkjia.com/PHPjc/445005.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445005.htmlTechArticleclass 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($i...

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值