TestSpreadsheet.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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/国研银行';
  60. Log::set_level(Log::WARING);
  61. Log::enable_sql(false);
  62. // $path = BASE_DATA_PATH . '/log/椰子银行';
  63. $files = ['2021-1-3.xls'];
  64. $loader = new bank\execl_loader();
  65. foreach ($files as $file) {
  66. $file = $path . '/' . $file;
  67. $loader->load_file($file);
  68. }
  69. }
  70. //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
  71. public function testLoadDir()
  72. {
  73. Log::set_level(Log::WARING);
  74. Log::enable_sql(false);
  75. $dir = BASE_DATA_PATH . '/log';
  76. $loader = new bank\execl_loader();
  77. $loader->load_dir($dir);
  78. }
  79. public function testFloat()
  80. {
  81. $val = '430,143.46';
  82. // $x = floatval($val);
  83. // $x = money_format($val);
  84. $x = mb_str_replace(',','',$val);
  85. }
  86. public function testReadMoney()
  87. {
  88. // $money_read = function ($val)
  89. // {
  90. // $val = trim($val);
  91. // if($val[0] == '¥') {
  92. // $amount = 0;
  93. // }
  94. //
  95. // };
  96. //
  97. // $left = mb_str_replace('¥','','¥1.00');
  98. // $val = $money_read('¥1.00');
  99. }
  100. }