国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

輸出Xlsx到瀏覽器下載后,打開損壞

liyume

問題描述

環(huán)境:
PHP8.2
phpoffice/phpspreadsheet:2.0
這里寫問題具體描述
截圖
代碼如下:
/**

  • 對(duì)Spreadsheet方法封裝
  • @param array $arr 該數(shù)組必須為鍵值對(duì),鍵是表格單元,值是單元格的值
  • @param array $data 該數(shù)組如果為一維數(shù)組,則填寫一行,如果為二維數(shù)組,則多行數(shù)據(jù)
  • @param string $name 下載Excel的文件名,可忽略
    */
    public static function downloadExcel(array $arr,array $data,$name=""){
    //文件名處置
    try {
    if (empty($name)){
    $name = date("YmdHis");
    }
    //內(nèi)容設(shè)置
    $preadsheet = new Spreadsheet();
    $sheet = $preadsheet->getActiveSheet();
    foreach($arr as $k=>$v){
    $sheet->setCellValue($k,$v);
    }
    $sheet->fromArray($data,null,"A2");

        //樣式設(shè)置
        $sheet->getDefaultColumnDimension()->setWidth(12);
    
        //設(shè)置下載與后綴
        $suffix = "xlsx";
        $filename = $name.".".$suffix;
        $writer = new Xlsx($preadsheet);
        $response = response();
        ob_start();
        try {
            $writer->save('php://output');
            $c = ob_get_contents();
            $response->withHeaders([
                'Content-Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
                'Content-Disposition' => 'attachment;filename="'.$filename,
                'Cache-Control' => 'max-age=0',
            ])->withBody($c);
        } catch (\Throwable $e){
            Log::error("生成文檔出錯(cuò),錯(cuò)誤信息:".$e->getMessage());

    // var_dump("生成文檔出錯(cuò),錯(cuò)誤信息:".$e->getMessage());
    } finally {
    ob_end_clean();
    }
    return $response;
    } catch (\Throwable $e){
    Log::error("生成文檔出錯(cuò),錯(cuò)誤信息:".$e->getMessage());
    }

    }

798 0 0
0個(gè)回答

年代過于久遠(yuǎn),無法發(fā)表回答
??