Index.php 2.5 KB

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