1. 程式人生 > 實用技巧 >php匯出excel表格超連結

php匯出excel表格超連結

            //匯出的資料來源 二維陣列
            $data = [
                ['name' => '1','phone' =>'1的電話','pic_url' =>[]],
                ['name' => '2','phone' =>'2的電話','pic_url' =>[]]
            ];
            //設定引數
            $indexKey = ['name', 'phone', 'pic_url'];//與表頭對應的要匯出的二維陣列的鍵
            $thValue
= ["姓名", '電話', '圖片'];//表頭 $fileName = "測試匯出表";//表名 $table = ''; //需要特殊處理的單元格,對應二維陣列的鍵 $urlArr = ['pic_url']; //表頭 $table .= "<table border='1' cellspacing='0' cellpadding='0'><thead><tr>"; foreach($thValue as
$v) { $table .= "<th> ".$v."</th >"; } $table .= "</tr></thead><tbody>"; //主體 foreach ($data as $value) { $table .= "<tr align='left'>"; foreach ($indexKey as $val) {
if (in_array($val,$urlArr)) { //處理圖片單元格 且合併到一格 $table .= "<td width='800'>"; //示例的連結為陣列,如果不是陣列將遍歷去除即可 foreach ($value[$val] as $v_url) { $table .= "<div style='width: 800px;'><a href='". $v_url ."'>" . $v_url . "</a></div>"; } $table .= "</td>"; } else { //普通單元格 內容前面留一個空格,防止長數字被格式化 $table .= "<td width='150'> " . $value[$val] . "</td>"; } } $table .= "</tr>"; } //表結尾 $table .= "</tbody></table>"; //通過header頭控制輸出excel表格 header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header('Content-Disposition:attachment;filename="'.$fileName.'.xls"'); header("Content-Transfer-Encoding:binary"); echo $table;

tp3使用PHPExcel 匯出excel

當時做一個匯出表格,要求匯出的表格包含超連結並且能夠合併單元格,然後我在網上找了一個將單個單元格變成點選觸發超連結的方法,但是當一個合併後的單元格內每個連結都要可以點選跳轉時,就行不通了,然後我又找了大半天,看到一個方法即上述的方法,可惜當時沒有收藏,現在找不到了,補充到這裡