閱讀747 返回首頁    go 人物


用php實現將兩個表格的數據差集取出來放到一個新的excel裏

首先,這裏有個1.xlsx和2.xlsx。如圖:

1.xlsx1112         2.xlsx5551

  

需要將其分別另存為csv格式的:

222

php代碼如下:

<?php
/**
 * @desc 用php實現,將兩個表格(1.csv,2.csv)裏,存在於2.csv的但不存在於1.csv的數據取出來,單獨放到一個新的csv裏
 */
$file_a = file(’1.csv’);
unset($file_a[0]);
$file_b = file(’2.csv’);
unset($file_b[0]);

$content = “域名,域名所有人n”;//csv 的頭部
$new_arr = array();
foreach ($file_a as $k=>$v){
      $v_2 = explode(”,”,$v);
      $v_2[0] = trim($v_2[0]);
      array_push($new_arr,$v_2[0]);
}

foreach ($file_b as $kk=>$vv){
      $vv_2 = explode(”,”,$vv);
      $vv_2[0] = trim($vv_2[0]);
      if($vv_2[0]){
           if(!in_array($vv_2[0],$new_arr)){
          $vv_2[1] = trim($vv_2[1]);
          $content .= “$vv_2[0],$vv_2[1]n”;//csv 的內容
      }else{
          continue;
      }
  }
}

$filename = ‘newfile.csv’;//名稱
ob_end_clean();//清除緩存
header(’Last-Modified: ‘.gmdate(’D, d M Y H:i:s’).’ GMT’);
header(’Pragma: no-cache’);
header(’Content-Encoding: none’);
header(’Content-Disposition: attachment; filename=’.$filename);
header(’Content-Length: ‘ . strlen($content));
header(’Content-type: application/vnd.ms-excel’);
echo $content;exit;
?>

這裏,得到的結果是:

666

 

注:本例適合數據量較小的表格,數據量大了,可能會卡~

最後更新:2017-01-04 22:34:39

  上一篇:go 如何轉換風格插件編碼
  下一篇:go 網站優化利器:robots協議規範書寫