Index.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace app\index\controller;
  3. use app\common\controller\Frontend;
  4. use PhpOffice\PhpSpreadsheet\IOFactory;
  5. use think\Db;
  6. class Index extends Frontend
  7. {
  8. protected $noNeedLogin = '*';
  9. protected $noNeedRight = '*';
  10. protected $layout = '';
  11. public function index()
  12. {
  13. var_dump(1);die;
  14. return $this->view->fetch();
  15. import('phpexcel.PHPExcel', EXTEND_PATH);
  16. // $a = new Spreadsheet();
  17. $path = ROOT_PATH.'public/mx.xlsx';
  18. $reader = IOFactory::createReader('Xlsx');
  19. $excal= $reader->load($path);
  20. $sheet = $excal->getActiveSheet();
  21. $all = 0;
  22. for ($i=1;$i<1251;$i++)
  23. {
  24. $value2 = $sheet->getCell('B'.$i)->getValue();
  25. $value3 = $sheet->getCell('C'.$i)->getValue();
  26. $value4 = $sheet->getCell('D'.$i)->getValue();
  27. $value4 = $this->excelTime($value4);
  28. $num = Db::table('print_sync')->where('institution_id','06300006')->where("DATE_FORMAT(print_time,'%Y-%m-%d') = '$value4'")->where('code',$value3)->sum('times');
  29. if($num == $value2)
  30. {
  31. continue;
  32. }
  33. $x = $num - $value2;
  34. $all += $x;
  35. var_dump('查询数'.$num);
  36. var_dump('表格数'.$value2);
  37. var_dump('code码'.$value3);
  38. echo "<br>";
  39. }
  40. var_dump('总差值'.$all);die;
  41. }
  42. public function excelTime($date, $time = false) {
  43. if (function_exists('GregorianToJD')) {
  44. if (is_numeric($date)) {
  45. $jd = GregorianToJD(1, 1, 1970);
  46. $gregorian = JDToGregorian($jd + intval($date) - 25569);
  47. $date = explode('/', $gregorian);
  48. $date_str = str_pad($date[2], 4, '0', STR_PAD_LEFT) . "-" . str_pad($date[0], 2, '0', STR_PAD_LEFT) . "-" . str_pad($date[1], 2, '0', STR_PAD_LEFT) . ($time ? " 00:00:00" : '');
  49. return $date_str;
  50. }
  51. } else {
  52. $date = $date > 25568 ? $date + 1 : 25569;
  53. /*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/
  54. $ofs = (70 * 365 + 17 + 2) * 86400;
  55. $date = date("Y-m-d", ($date * 86400) - $ofs) . ($time ? " 00:00:00" : '');
  56. }
  57. return $date;
  58. }
  59. public function news()
  60. {
  61. $newslist = [];
  62. return jsonp(['newslist' => $newslist, 'new' => count($newslist), 'url' => 'https://www.fastadmin.net?ref=news']);
  63. }
  64. }