php 導出excel CVS格式代碼


php  excel導出 CVS格式  樂楊俊

 <?php

  $param=array();   //模擬導出數據
  $param [1] = array (
   'po' => '651651616',
            'pick_mode' => '1',
            'auto_add_goods' => '0',
            'type' => 'jit',
            'schedule_time' => '20013-00-00',
            'num' => '25045',
            'sale_num' => '2054',
            'unpick_num' => '6234',
            'warehouse_name' => 'bj', );
  $param [2] = array (
   'po' => '651651612',
            'pick_mode' => '1',
            'auto_add_goods' => '0',
            'type' => 'jit2',
            'schedule_time' => '20013-00-002',
            'num' => '2502',
            'sale_num' => '20267',
            'unpick_num' => '622',
            'warehouse_name' => 'bj2',
  );
  $param [3] = array (
   'po' => '651651613',
            'pick_mode' => '1',
            'auto_add_goods' => '0',
            'type' => 'jit3',
            'schedule_time' => '20013-00-003',
            'num' => '2503',
            'sale_num' => '203',
            'unpick_num' => '6236',
            'warehouse_name' => 'bj3',
  );
  $param [4] = array (
   'po' => '651651614',
            'pick_mode' => '1',
            'auto_add_goods' => '0',
            'type' => 'jit4',
            'schedule_time' => '20013-00-004',
            'num' => '2504',
            'sale_num' => '204',
            'unpick_num' => '6246',
            'warehouse_name' => 'bj4',
  );
  $param [5] = array (
   'po' => '812231134',
            'pick_mode' => '0',
            'auto_add_goods' => '1',
            'type' => 'jit5',
            'schedule_time' => '2013-00-004',
            'num' => '8888',
            'sale_num' => '8848',
            'unpick_num' => '6000',
            'warehouse_name' => 'BJ',
  );

  $name='leyangjun';
  $filename = mb_convert_encoding($name, 'gb2312', 'utf-8');
        $title = array(
            'po' => 'PO單編號',
            'pick_mode' => '揀貨方式',
            'auto_add_goods' => '自動補貨',
            'type' => '合作模式',
            'schedule_time' => '檔期時間',
            'num' => '虛擬總庫存',
            'sale_num' => '銷售數',
            'unpick_num' => '未揀貨',
            'warehouse_name' => '倉庫',
        );
       $ii = 0;
        if (!empty($param)) {
            foreach ($param as $key => $val) {
                $val['type'] = isset($val['type']) ? $val['type'] : '';
                $val['schedule_time'] = isset($val['sell_time_from']) || isset($val['sell_time_to']) ? ($val['sell_time_from'] . '—' . $val['sell_time_to']) : '';
                $val['pick_mode'] = isset($val['pick_mode']) ? ($val['pick_mode'] > 1 ? '分類' : '普通') : '';
                $val['auto_add_goods'] = isset($val['auto_add_goods']) ? ($val['auto_add_goods'] > 0 ? '開啟' : '關閉') : '';
                $val['schedule_time'] = isset($val['schedule_time']) ? ($val['schedule_time'] == '0000-00-00 00:00:00—0000-00-00 00:00:00' ? '' : $val['schedule_time']) : '';

                foreach ($title as $tk => $tv) {
                    if (!isset($val[$tk])) {
                        $val[$tk] = '';
                    }
                    $list[$ii][] = $val[$tk];
                }
                $ii++;
            }
        }

        //未設置給默認--防報錯
        if (!isset($list)) {
            $list[0][0] = "";
            $list[0][1] = "";
            $list[0][2] = "";
            $list[0][3] = "";
            $list[0][4] = "";
            $list[0][5] = "";
            $list[0][6] = "";
            $list[0][7] = "";
            $list[0][8] = "";
            $list[0][9] = "";
            $list[0][10] = "";
        }

        //表頭數據
        $headerDate = array_values($title);
        //內容體數據
        $bodyData = $list;

        //設置工作區名稱
        $sheetName = 'Jit_po列表詳情';
        //設置要導出的excel文件名
  
        $fileName = $name;
        //設置要導出的excel文件后綴名,支持xls和xlsx
        $fileExt = 'xls';
        //調用類庫導出excel
        //ini_set('memory_limit', '512M');     
   //cvs格式 
    to_csv($fileName, $headerDate, $bodyData, array(0, 10, 14, 15), $flag=1);
   

   //CVS格式
/*  
 function to_csv($file_name, $headerDate, $bodyData, $array_text, $flag) {

        // 輸出Excel文件頭,可把user.csv換成你要的文件名 
        if (!headers_sent()) {
            header('Content-Type: application/vnd.ms-excel');
            header('Content-Disposition: attachment;filename="' . $file_name . '.csv"');
            header('Cache-Control: max-age=0');
        }
        // 打開PHP文件句柄,php://output 表示直接輸出到瀏覽器 
        $fp = fopen('php://output', 'a');
        foreach ($headerDate as $i => $v) {
            // CSV的Excel支持GBK編碼,一定要轉換,否則亂碼 
            $headerDate[$i] = iconv('utf-8', 'gbk', $v);
        }
        // 將數據通過fputcsv寫到文件句柄   
        if ($flag == 1) {
            fputcsv($fp, $headerDate);
        }
        // 逐行取出數據,不浪費內存 
        foreach ($bodyData as $row) {
            foreach ($row as $i => $v) {
                $row[$i] = iconv('utf-8', 'gbk', $v);
                if (in_array($i, $array_text)) {
                    $row[$i] = "\t" . $row[$i];
                }
            }
            fputcsv($fp, $row);
        }
    }
*/
  

?> 

讀取數據庫

$param=array(); 
$i=0;
$row=mysql_fetch_assoc($data);
do{
$param[$i]=$row;
$i++;
}while ($row=mysql_fetch_assoc($data));

 

 

原文地址:http://blog.csdn.net/leyangjun/article/details/19916385


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM