阅读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协议规范书写