【php导出excel,大量导出,文本格式】
生活随笔
收集整理的這篇文章主要介紹了
【php导出excel,大量导出,文本格式】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
php導出excel,大量導出,文本格式
php導出excel
特點: 簡單,不需要插件,可以導出大量數據,避免內存溢出
缺點: 樣式簡單
原理: 通過拼接html table標簽格式 保存為excel文件
特別說明: td 標簽使用 <td style='mso-number-format: \@'> 可以使數字保持為文本格式,用mso-number-format:’@’(這里的@表示文本格式,其他更多的格式,可以參照Excel自定義單元格式的用法)
不說廢話直接上代碼:
// 導出excelpublic function exportlist(){//前端參數獲取$id = input('id');$userid= input('userid');$username= input('username');//配置的第二數據源$DB_CONFIG_USER= config('DB_CONFIG_USER');$dbquery = db('user', $DB_CONFIG_USER);if ($id) {$where['id'] = array('like', (string)$id . '%');}if ($username) {$where['username'] = array('like', '%' . (string)$username. '%');}if ($userid) {$where['userid'] = $userid;}$order = 'create_time DESC';$list = $dbquery->where($where)->field('id,userid,username,create_time,deal_code')->order($order)->select();$fieldname = array('id','用戶id','用戶名稱','創建時間','返回碼,0=成功',);$field = array('id','userid','username','create_time','deal_code',);$tablename = "導出記錄";$this->outexcel($list, $fieldname, $field, $tablename);}//用頭部信息輸出excel格式文件public function outexcel($data, $fieldname, $field, $tablename){header('Content-Type: application/vnd.ms-excel');header('Content-Disposition: attachment;filename="' . $tablename . '表(' . date('Ymd-His') . ').xls"');header('Cache-Control: max-age=0');$count = count($fieldname);echo "<body><meta charset='UTF-8'><table border='1'><tr>";for ($i = 0; $i < $count; $i++) {echo "<th>" . $fieldname[$i] . "</th>";}echo "</tr>";for ($i = 0; $i < count($data); $i++) {for ($j = 0; $j < $count; $j++) {echo "<td style='mso-number-format: \@'>" . $data[$i]["$field[$j]"] . "</td>";}echo "</tr>";}echo "</table></meta charset='UTF-8'></body>";}覺得有用記得給個好評
總結
以上是生活随笔為你收集整理的【php导出excel,大量导出,文本格式】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ideaspringboot项目上传服务
- 下一篇: iOS蓝牙开发框架