thinkphp使用phpexcel实现导入excel
public function __construct() {
/*导入phpexcel核心类 */
require_once app_path.'phpexcel/phpexcel.php';
require_once app_path.'phpexcel/phpexcel/writer/excel5.php'; // 用于其他低版本xls
require_once app_path.'phpexcel/phpexcel/writer/excel2007.php'; // 用于 excel-2007 格式
}
//导入excel内容转换成数组
public function import($filepath){
$this->__construct();
$phpexcel = new phpexcel();
/**默认用excel2007读取excel,若格式不对,则用之前的版本进行读取*/
$phpreader = new phpexcel_reader_excel2007();
if(!$phpreader->canread($filepath)){
$phpreader = new phpexcel_reader_excel5();
if(!$phpreader->canread($filepath)){
echo 'no excel';
return;
}
}
$phpexcel = $phpreader->load($filepath);
$currentsheet = $phpexcel->getsheet(0); //读取excel文件中的第一个工作表
$allcolumn = $currentsheet->gethighestcolumn(); //取得最大的列号
$allrow = $currentsheet->gethighestrow(); //取得一共有多少行
$erp_orders_id = array(); //声明数组
/**从第二行开始输出,因为excel表中第一行为列名*/
for($currentrow = 1;$currentrow
/**从第a列开始输出*/
for($currentcolumn= 'a';$currentcolumn
$val = $currentsheet->getcellbycolumnandrow(ord($currentcolumn) - 65,$currentrow)->getvalue();/**ord()将字符转为十进制数*/
if($val!=''){
$erp_orders_id[] = $val;
}
/**如果输出汉字有乱码,则需将输出内容用iconv函数进行编码转换,如下将gb2312编码转为utf-8编码输出*/
//echo iconv('utf-8','gb2312', $val).\t;
}
}
return $erp_orders_id;
}所有文件已经打包,感兴趣可以下载测试,多多探讨
thinkphp+phpexcel.zip ( 3.05 kb 下载:1947 次 )
ad:真正免费,域名+虚机+企业邮箱=0元