Excel.php array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.
array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'), 'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'), ); /**下载文件 * @param string $filename 文件名称 * @param string $data 数据字符串 * @return bool */ public static function force_download($filename = '', $data = '') { if ($filename == '' OR $data == '') { return FALSE; } if (FALSE === strpos($filename, '.')) { return FALSE; } // Grab the file extension $x = explode('.', $filename); $extension = end($x); $mime = (is_array(self::$mimes[$extension])) ? self::$mimes[$extension][0] : self::$mimes[$extension]; // Generate the server headers header('Content-Type: "' . $mime . '"'); header('Content-Disposition: attachment; filename="' . $filename . '"'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header("Content-Transfer-Encoding: binary"); header('Pragma: public'); header("Content-Length: " . strlen($data)); exit($data); } /** * 编码转换 * @param type $string * @return string */ public static function charset($string){ return iconv('utf-8', 'gbk', $string); } /** * 格式化excel * @param $th_arr th头部信息 * @param $list_arr 表数据信息 * @return string */ public static function format_excel_data($th_arr, $list_arr) { $th_str = ''; $tr_str = ''; foreach ($th_arr as $key => $th) { $th_str .= '' . self::charset($th['name']) . ''; } $th_all_keys = array_keys($th_arr['0']); $first_key_name = array_shift($th_all_keys); $last_key_name = array_pop($th_all_keys); foreach($list_arr as $list) { foreach($list as $key=>$list_detail){ if($key==$first_key_name){ $tr_str .= ''; } $tr_str .= '' . self::charset($list_detail) . ''; if($key==$last_key_name) { $tr_str .= ''; } } } $th_str .= ''; $total_num = count($list_arr); $date_time = date('Y年m月d日 H:i:s'); $total_str = <<