Loading src/Tools/Exporter.php +4 −4 Original line number Original line Diff line number Diff line Loading @@ -326,12 +326,12 @@ class Exporter if (!$filename) { if (!$filename) { $filename = $this->name ? $this->name : rand(1, 9999999) . time() . rand(1, 9999999); $filename = $this->name ? $this->name : rand(1, 9999999) . time() . rand(1, 9999999); } } $filename .= "." . strtolower($this->fileType); $this->reader->setActiveSheetIndex(0); $this->reader->setActiveSheetIndex(0); $objWriter = IOFactory::createWriter($this->reader, $this->fileType); $objWriter = IOFactory::createWriter($this->reader, $this->fileType); switch ($downloadType) { switch ($downloadType) { case self::DOWNLOAD_TYPE_STREAM: case self::DOWNLOAD_TYPE_STREAM: case self::DOWNLOAD_TYPE_SAVE_AND_DOWNLOAD: case self::DOWNLOAD_TYPE_SAVE_AND_DOWNLOAD: $filename .= "." . strtolower($this->fileType); if ($this->fileType == 'Xlsx') { if ($this->fileType == 'Xlsx') { header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); } elseif ($this->fileType == 'Xls') { } elseif ($this->fileType == 'Xls') { Loading Loading @@ -371,9 +371,9 @@ class Exporter case self::DOWNLOAD_TYPE_RETURN_FILE_PATH: case self::DOWNLOAD_TYPE_RETURN_FILE_PATH: $filePath = $this->rootPath . "/export/"; $filePath = $this->rootPath . "/export/"; !is_dir($filePath) && mkdir($filePath, 0777, true); !is_dir($filePath) && mkdir($filePath, 0777, true); $fileName = $filePath . date('YmdHis') . '-' . $filename; $fileReadPath = $filePath . $filename . '-' . date('YmdHis') . "." . strtolower($this->fileType); $objWriter->save($fileName); $objWriter->save($fileReadPath); return $this->config->get('app_domain') . str_replace($this->rootPath, '', $fileName); return $this->config->get('app_domain') . str_replace($this->rootPath, '', $fileReadPath); break; break; default: default: throw new \Exception('不支持此种下载类型'); throw new \Exception('不支持此种下载类型'); Loading src/functions.php +17 −4 Original line number Original line Diff line number Diff line Loading @@ -125,6 +125,19 @@ if (!function_exists('fail')) { } } } } if (!function_exists('download')) { /** * 文件流下载文件 * @param string $filePath 文件路径 * @param string $showName 下载后展示的名称 * @return mixed */ function download($filePath = '', $showName = '') { return response()->download($filePath, urlencode($showName)); } } if (!function_exists('decimal_to_abc')) { if (!function_exists('decimal_to_abc')) { /** /** * 数字转换对应26个字母 * 数字转换对应26个字母 Loading Loading
src/Tools/Exporter.php +4 −4 Original line number Original line Diff line number Diff line Loading @@ -326,12 +326,12 @@ class Exporter if (!$filename) { if (!$filename) { $filename = $this->name ? $this->name : rand(1, 9999999) . time() . rand(1, 9999999); $filename = $this->name ? $this->name : rand(1, 9999999) . time() . rand(1, 9999999); } } $filename .= "." . strtolower($this->fileType); $this->reader->setActiveSheetIndex(0); $this->reader->setActiveSheetIndex(0); $objWriter = IOFactory::createWriter($this->reader, $this->fileType); $objWriter = IOFactory::createWriter($this->reader, $this->fileType); switch ($downloadType) { switch ($downloadType) { case self::DOWNLOAD_TYPE_STREAM: case self::DOWNLOAD_TYPE_STREAM: case self::DOWNLOAD_TYPE_SAVE_AND_DOWNLOAD: case self::DOWNLOAD_TYPE_SAVE_AND_DOWNLOAD: $filename .= "." . strtolower($this->fileType); if ($this->fileType == 'Xlsx') { if ($this->fileType == 'Xlsx') { header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); } elseif ($this->fileType == 'Xls') { } elseif ($this->fileType == 'Xls') { Loading Loading @@ -371,9 +371,9 @@ class Exporter case self::DOWNLOAD_TYPE_RETURN_FILE_PATH: case self::DOWNLOAD_TYPE_RETURN_FILE_PATH: $filePath = $this->rootPath . "/export/"; $filePath = $this->rootPath . "/export/"; !is_dir($filePath) && mkdir($filePath, 0777, true); !is_dir($filePath) && mkdir($filePath, 0777, true); $fileName = $filePath . date('YmdHis') . '-' . $filename; $fileReadPath = $filePath . $filename . '-' . date('YmdHis') . "." . strtolower($this->fileType); $objWriter->save($fileName); $objWriter->save($fileReadPath); return $this->config->get('app_domain') . str_replace($this->rootPath, '', $fileName); return $this->config->get('app_domain') . str_replace($this->rootPath, '', $fileReadPath); break; break; default: default: throw new \Exception('不支持此种下载类型'); throw new \Exception('不支持此种下载类型'); Loading
src/functions.php +17 −4 Original line number Original line Diff line number Diff line Loading @@ -125,6 +125,19 @@ if (!function_exists('fail')) { } } } } if (!function_exists('download')) { /** * 文件流下载文件 * @param string $filePath 文件路径 * @param string $showName 下载后展示的名称 * @return mixed */ function download($filePath = '', $showName = '') { return response()->download($filePath, urlencode($showName)); } } if (!function_exists('decimal_to_abc')) { if (!function_exists('decimal_to_abc')) { /** /** * 数字转换对应26个字母 * 数字转换对应26个字母 Loading