$val) { $ret[$key] = mb_str_replace($search, $replace, $val); } return $ret; } foreach((array) $search as $key => $s) { if($s == '') { continue; } $r = !is_array($replace) ? $replace : (array_key_exists($key, $replace) ? $replace[$key] : ''); $pos = mb_strpos($subject, $s, 0, 'UTF-8'); while($pos !== false) { $subject = mb_substr($subject, 0, $pos, 'UTF-8') . $r . mb_substr($subject, $pos + mb_strlen($s, 'UTF-8'), 65535, 'UTF-8'); $pos = mb_strpos($subject, $s, $pos + mb_strlen($r, 'UTF-8'), 'UTF-8'); } } return $subject; } } class TestSpreadsheet extends TestCase { public static function setUpBeforeClass() : void { Base::run_util(); } public function testLoad() { $spreadsheet = new PhpOffice\PhpSpreadsheet\Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', 'Hello World !'); $writer = new PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet); $writer->save('hello world.xlsx'); } public function testReadSheet() { // $paths = [BASE_DATA_PATH . '/log/国研银行/2021.04.1.xls', BASE_DATA_PATH . '/log/椰子银行']; // $file = BASE_DATA_PATH . '/log/国研银行/2021.04.1.xls'; // $file = BASE_DATA_PATH . '/log/椰子银行/椰子建行2020-06月.xls'; // $file = BASE_DATA_PATH . '/log/国研银行/国研交行2021-11月.xls'; // $file = BASE_DATA_PATH . '/log/国研银行/国研浦发2021-09月.xls'; // $file = BASE_DATA_PATH . '/log/国研银行/国研招行2021-10月.xlsx'; // $file = BASE_DATA_PATH . '/log/椰子银行/2021.11汇付宝付款明细单据数据导出.xls'; // $file = BASE_DATA_PATH . '/log/椰子银行/椰子建行2021-05月.xls'; $path = BASE_DATA_PATH . '/log/椰子招行2104-2111'; Log::set_level(Log::WARING); Log::enable_sql(false); Log::record("start",Log::WARING); // $path = BASE_DATA_PATH . '/log/椰子银行'; // $files = ['椰子招行2021-09月.xlsx'];'椰子招行2021-09月.xlsx', $files = ['椰子招行2021-11月.xlsx']; $loader = new bank\execl_loader(); foreach ($files as $file) { $file = $path . '/' . $file; $loader->load_file($file); } } //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 public function testLoadDir() { Log::set_level(Log::WARING); Log::enable_sql(false); Log::record("start",Log::WARING); $dirs = [BASE_DATA_PATH . '/log/国研银行', BASE_DATA_PATH . '/log/椰子银行']; $loader = new bank\execl_loader(); foreach ($dirs as $dir) { $loader->load_dir($dir); } } public function testFloat() { $val = '430,143.46'; // $x = floatval($val); // $x = money_format($val); $x = mb_str_replace(',','',$val); } public function testReadMoney() { // $money_read = function ($val) // { // $val = trim($val); // if($val[0] == '¥') { // $amount = 0; // } // // }; // // $left = mb_str_replace('¥','','¥1.00'); // $val = $money_read('¥1.00'); } }