2022年10月21日 星期五

清量級的 XLSX 工具 (PHP版本)

PHP_XLSXWriter 

第二連結 : 避免最後倉庫丟失

        include BASE_PATH . "XlsxWriter.php";
        $headerRow = [];
        $file = $filename;

        $file = str_replace('.xls', '.xlsx', $file);

        # 要使用方案2
        $path =  '../api/data/resources/xlsx/';
        if (!file_exists($path)) {
            mkdir($path, 0777, true);
            $path = $path . $filename;
        } else {
            $path = $path . $filename;
        }

        $writer = new \XLSXWriter();
        # 風格一
        $styles1 = array(
            'font' => 'Arial',
            'font-size' => 12,
            'border' => 'left,top,bottom'
        ); 
        # 配置標題      
        foreach ($data[0] as $key => $value) {
            $headerRow[$value] = '@';
        }
        unset($data[0]);
        $writer->writeSheetHeader('Sheet1', $headerRow, [
            'halign' => 'center',
            'font-size' => 14,
            'border' => 'left,top,bottom',
            'widths' => [40, 20, 20, 25, 25],
        ]);
        foreach ($data as  $key1 => $row) {
            $writer->writeSheetRow('Sheet1', $row, $styles1);
        }
        # 方案一
        header('content-disposition:attachment;filename=' . $file);    //告訴瀏覽器通過何種方式處理檔案
        $writer->writeToStdOut();
        exit;
        # 方案二
        # 這個是 先產實體文件 , 再刪除
        // $writer->writeToFile($path);
        // header('content-disposition:attachment;filename=' . $file);    //告訴瀏覽器通過何種方式處理檔案
        // header('content-length:' . filesize($path));    //下載檔案的大小
        // readfile($path);
        // unlink($path);
        // exit;

2022年10月9日 星期日

PHP 黑科技

節省寫法時間

 

<?php

$array = [
    'name' => 1,
    'phone' => 12345678911
   
];

$arr_key = [
    'name' , 'phone'
];

// 黑科技
foreach ($arr_key as $key => $value) {
   $$value  =  $array[$value] ;
}
echo $name . $phone ;

// 另一個寫法就是
list('name'=>$name ,'phone'=>$phone) = $array ;

?>


這樣寫可以 省去還要 寫一堆 set 的代碼
當然相對地就不是好閱讀
建議還是寫在 func , class 這些 內部邏輯


拯救老電腦

 Sempron 3850 Socket AM1入門四核處理器 2014 8ram  作業系統 windows 10 1904 評論: 八年的核心,其他的故障電腦拆解零組件都是拼裝. 整體使用上,可以基本文書,瀏覽網站,聽音樂等等都可以接受的。 下次再來繼續搞更多..