TestSpreadsheet.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?php
  2. use PHPUnit\Framework\TestCase;
  3. define('APP_ID', 'test');
  4. define('BASE_ROOT_PATH', str_replace('/test', '', dirname(__FILE__)));
  5. require_once(BASE_ROOT_PATH . '/global.php');
  6. require_once(BASE_CORE_PATH . '/lrlz.php');
  7. require_once(BASE_ROOT_PATH . '/fooder.php');
  8. require_once(BASE_ROOT_PATH . '/vendor/autoload.php');
  9. require_once(BASE_HELPER_PATH . '/bank/execl_loader.php');
  10. require_once(BASE_HELPER_PATH . '/bank/converter.php');
  11. if ((!function_exists('mb_str_replace')) &&
  12. (function_exists('mb_substr')) && (function_exists('mb_strlen')) && (function_exists('mb_strpos'))) {
  13. function mb_str_replace($search, $replace, $subject) {
  14. if(is_array($subject)) {
  15. $ret = array();
  16. foreach($subject as $key => $val) {
  17. $ret[$key] = mb_str_replace($search, $replace, $val);
  18. }
  19. return $ret;
  20. }
  21. foreach((array) $search as $key => $s) {
  22. if($s == '') {
  23. continue;
  24. }
  25. $r = !is_array($replace) ? $replace : (array_key_exists($key, $replace) ? $replace[$key] : '');
  26. $pos = mb_strpos($subject, $s, 0, 'UTF-8');
  27. while($pos !== false) {
  28. $subject = mb_substr($subject, 0, $pos, 'UTF-8') . $r . mb_substr($subject, $pos + mb_strlen($s, 'UTF-8'), 65535, 'UTF-8');
  29. $pos = mb_strpos($subject, $s, $pos + mb_strlen($r, 'UTF-8'), 'UTF-8');
  30. }
  31. }
  32. return $subject;
  33. }
  34. }
  35. class TestSpreadsheet extends TestCase
  36. {
  37. public static function setUpBeforeClass() : void
  38. {
  39. Base::run_util();
  40. }
  41. public function testLoad()
  42. {
  43. $spreadsheet = new PhpOffice\PhpSpreadsheet\Spreadsheet();
  44. $sheet = $spreadsheet->getActiveSheet();
  45. $sheet->setCellValue('A1', 'Hello World !');
  46. $writer = new PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
  47. $writer->save('hello world.xlsx');
  48. }
  49. public function testReadSheet()
  50. {
  51. // $paths = [BASE_DATA_PATH . '/log/国研银行/2021.04.1.xls', BASE_DATA_PATH . '/log/椰子银行'];
  52. // $file = BASE_DATA_PATH . '/log/国研银行/2021.04.1.xls';
  53. // $file = BASE_DATA_PATH . '/log/椰子银行/椰子建行2020-06月.xls';
  54. // $file = BASE_DATA_PATH . '/log/国研银行/国研交行2021-11月.xls';
  55. // $file = BASE_DATA_PATH . '/log/国研银行/国研浦发2021-09月.xls';
  56. // $file = BASE_DATA_PATH . '/log/国研银行/国研招行2021-10月.xlsx';
  57. // $file = BASE_DATA_PATH . '/log/椰子银行/2021.11汇付宝付款明细单据数据导出.xls';
  58. // $file = BASE_DATA_PATH . '/log/椰子银行/椰子建行2021-05月.xls';
  59. $path = BASE_DATA_PATH . '/log/椰子招行2104-2111';
  60. Log::set_level(Log::WARING);
  61. Log::enable_sql(false);
  62. Log::record("start",Log::WARING);
  63. // $path = BASE_DATA_PATH . '/log/椰子银行';
  64. // $files = ['椰子招行2021-09月.xlsx'];'椰子招行2021-09月.xlsx',
  65. $files = ['椰子招行2021-11月.xlsx'];
  66. $loader = new bank\execl_loader();
  67. foreach ($files as $file) {
  68. $file = $path . '/' . $file;
  69. $loader->load_file($file);
  70. }
  71. }
  72. //docker-compose run -d phpcli php /var/www/html/phpunit-9.2.5.phar --filter "/(TestSpreadsheet::testLoadDir)( .*)?$/" --test-suffix TestSpreadsheet.php /var/www/html/test
  73. public function testLoadDir()
  74. {
  75. Log::set_level(Log::WARING);
  76. Log::enable_sql(false);
  77. Log::record("start",Log::WARING);
  78. $dirs = [BASE_DATA_PATH . '/log/国研银行', BASE_DATA_PATH . '/log/椰子银行'];
  79. $loader = new bank\execl_loader();
  80. foreach ($dirs as $dir) {
  81. $loader->load_dir($dir);
  82. }
  83. }
  84. public function testFloat()
  85. {
  86. $val = '430,143.46';
  87. // $x = floatval($val);
  88. // $x = money_format($val);
  89. $x = mb_str_replace(',','',$val);
  90. }
  91. public function testReadMoney()
  92. {
  93. // $money_read = function ($val)
  94. // {
  95. // $val = trim($val);
  96. // if($val[0] == '¥') {
  97. // $amount = 0;
  98. // }
  99. //
  100. // };
  101. //
  102. // $left = mb_str_replace('¥','','¥1.00');
  103. // $val = $money_read('¥1.00');
  104. }
  105. }