您好,欢迎访问一九零五行业门户网

Thinkphp使用PHPExcel实现导入Excel

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元
其它类似信息

推荐信息