phpExcel读取excel文件 生成excel文件

1、读取
                set_time_limit(0);
		ini_set('memory_limit','200M');                          //设置文件上传大小
		require_once 'Classes/PHPExcel/IOFactory.php';
		$reader = PHPExcel_IOFactory::createReader('Excel2007');
		$resource = getcwd().'/Lib/Action/test.xlsx';
		if (!file_exists($resource)) {
			exit("$resource is not exists.\n");
		}
		$PHPExcel = $reader->load(getcwd().'/Lib/Action/test.xlsx'); // 文件名称
		$sheet = $PHPExcel->getSheet(0); //
		$highestRow = $sheet->getHighestRow(); // 取得总行数
		$highestColumn = $sheet->getHighestColumn(); // 取得总列数

	        $str="帐号,手机";
		// 每次读取一行,再在行中循环每列的数值
		for ($row = 1; $row <= $highestRow; $row++) {
			 $username .= $sheet->getCellByColumnAndRow(0, $row)->getValue().",";
		}
		echo $username;
		exit;
		$uname=explode(",",$username);

2、生成:

                $str="";
		set_time_limit(0);
		$uname=explode(",",$str);
		$str="帐号,手机\n";
		$file=date("Y-m-d")."-"."phonenums.csv";
		header('Content-Disposition: attachment; filename="'.$file.'"');
		for ($i=0;$i<count($uname);$i++){
			$name = $uname[$i];
			$phonenum=D("TableModel")->where("username='".$name."'")->getField("phonenum");
			if ($phonenum=="") {
				$phonenum=D("TableModel")->where("username='".$name."'")->getField("mobile");
			}
			$str.=$name.",".$phonenum."\n";
		}
		$str = mb_convert_encoding($str,"CP936","UTF-8");
		echo $str;


读取某excel文件,得到其每行每列的内容的一个示例:

set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/'); 
include 'PHPExcel/IOFactory.php';  

$reader = PHPExcel_IOFactory::createReader('Excel2007'); // 讀取 excel 檔案  
$PHPExcel = $reader->load($excelfilename); // 檔案名稱  
$sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始)  
$highestRow = $sheet->getHighestRow(); // 取得总行数  
$highestColumn = $sheet->getHighestColumn(); // 取得总列数   
$arr = array(1=>'A',2=>'B',3=>'C',4=>'D',5=>'E',6=>'F',7=>'G',8=>'H',9=>'I',10=>'J',11=>'K',12=>'L',13=>'M', 14=>'N',15=>'O',16=>'P',17=>'Q',18=>'R',19=>'S',20=>'T',21=>'U',22=>'V',23=>'W',24=>'X',25=>'Y',26=>'Z');
//echo $highestRow.$highestColumn;
// 一次讀取一列  

for ($row = 5; $row <= $highestRow; $row++) {  
    for ($column = 0; $arr[$column] != 'T'; $column++) {  
        $val = $sheet->getCellByColumnAndRow($column, $row)->getValue(); 
        echo $val;
    }       



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值