国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

基于php導出到Excel或CSV的方法

2020-03-22 17:51:47
字體:
來源:轉載
供稿:網友
本篇文章是對php導出到Excel或CSV(附utf8、gbk 編碼轉換)進行了詳細的分析介紹,需要的朋友參考下

php導入到excel亂碼是因為utf8編碼在html' target='_blank'>xp系統不支持所有utf8編碼轉碼一下就完美解決了
utf-8編碼案例
Php代碼

 ?php header( Content-Type: application/vnd.ms-excel; charset=UTF-8 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/octet-stream header( Content-Type: application/download header( Content-Disposition: attachment;filename=11.xls header( Content-Transfer-Encoding: binary ? 

Php代碼

 ? $filename= php導入到excel-utf-8編碼 $filename=iconv( utf-8 , gb2312 , $filename); echo $filename; ? 

gbk編碼案例
Php代碼

 ?php header( Content-Type: application/vnd.ms-excel; charset=UTF-8 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/octet-stream header( Content-Type: application/download header( Content-Disposition: attachment;filename=11.xls header( Content-Transfer-Encoding: binary ? 

Php代碼

0. ? 0.$filename= php導入到excel-utf-8編碼 0.echo $filename; 0.? 

訪問網站的時候就下載到excel里面
要弄單元格區別的話
用table表格做網頁的就可以了
====================== 其他方法 =============================
1、制作簡單 Excel

0. ?php 0.header( Content-type:application/vnd.ms-excel 0.header( Content-Disposition:filename=php2excel.xls 0.echo A1/t B1/t C1/n 0.echo A2/t B2/t C2/n 0.echo A3/t B3/t C3/n 0.echo A4/t B4/t C4/n 0.? 

2、制作簡單 CSV

 ?php$action =$_GET[ action if ($action== make ){ $fp = fopen( demo_csv.csv , a //打開csv文件,如果不存在則創建 $title = array( First_Name , Last_Name , Contact_Email , Telephone //第一行數據 $data_1 = array( 42343 , 423432 , 4234 , 4234  $data_2 = array( 4234 , Last_Name , Contact_Email , Telephone  $title = implode( , ,$title); //用 分割成字符串 $data_1 = implode( , ,$data_1); // 用 分割成字符串 $data_2 = implode( , ,$data_2); // 用 分割成字符串 $data_str =$title. /r/n .$data_1. /r/n .$data_2. /r/n //加入換行符 fwrite($fp,$data_str); // 寫入數據 fclose($fp); //關閉文件句柄 echo 生成成功 echo br echo a href= ?action=make 生成csv文件 /a ? 

也可以做一個封閉函數
封閉函數一:

function exportToCsv($csv_data, $filename = export.csv ) { $csv_terminated = /n  $csv_separator = ,  $csv_enclosed =  $csv_escaped = //  // Gets the data from the database $schema_insert =  $out =  // Format the data foreach ($csv_data as $row) $schema_insert =  $fields_cnt = count($row); //printr($row); $tmp_str =  foreach($row as $v) $tmp_str .= $csv_enclosed.str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, $v).$csv_enclosed.$csv_separator; } // end for $tmp_str = substr($tmp_str, 0, -1); $schema_insert .= $tmp_str; $out .= $schema_insert; $out .= $csv_terminated; } // end while header( Cache-Control: must-revalidate, post-check=0, pre-check=0  header( Content-Length: . strlen($out)); header( Content-type: text/x-csv  header( Content-Disposition:filename=$filename  echo $out;$csv_data = array(array( Name , Address array_push($csv_data, array($row[ name ],$row[ address ]));exportToCsv($csv_data, new_file.csv */

封閉函數二:

 ? * Simple class to properly output CSV data to clients. PHP 5 has a built * in method to do the same for writing to files (fputcsv()), but many times * going right to the client is beneficial. * @author Jon Galesclass CSV_Writer { public $data = array(); public $deliminator; * Loads data and optionally a deliminator. Data is assumed to be an array * of associative arrays. * @param array $data * @param string $deliminator function __construct($data, $deliminator = , ) if (!is_array($data)) throw new Exception( CSV_Writer only accepts data as arrays  $this- data = $data; $this- deliminator = $deliminator; private function wrap_with_quotes($data) $data = preg_replace( / (.+) / , $1 , $data); return sprintf( %s , $data); * Echos the escaped CSV file with chosen delimeter * @return void public function output() foreach ($this- data as $row) $quoted_data = array_map(array( CSV_Writer , wrap_with_quotes ), $row); echo sprintf( %s/n , implode($this- deliminator, $quoted_data)); * Sets proper Content-Type header and attachment for the CSV outpu * @param string $name * @return void public function headers($name) header( Content-Type: application/csv  header( Content-disposition: attachment; filename={$name}.csv //$data = array(array( one , two , three ), array(4,5,6));$data[] = array( one , two , three $data[] = array(4,5,6);$csv = new CSV_Writer($data);$csv- headers( test $csv- output();*/

3. 使用excel類

 ?phprequire_once Spreadsheet/Writer.php $workbook = new Spreadsheet_Excel_Writer();/* 生成 CSV$filename = date( YmdHis ). .csv $workbook- send($filename); // 發送 Excel 文件名供下載// 生成 Excel$filename = date( YmdHis ). .xls $workbook- send($filename); // 發送 Excel 文件名供下載$workbook- setVersion(8);$workbook- setBIFF8InputEncoding( UTF-8 $worksheet = $workbook- addWorksheet( Sheet-1 $data[]= array( id , username , company , email , mob , daytime , intent $data[] = array(1, 老梁 , **工作室 , jb51.net , 1363137966* ,time(), y $total_row = count($data);$total_col = count($data[0]);for ($row = 0; $row $total_row; $row ++) { for ($col = 0; $col $total_col; $col ++) { $worksheet- writeString($row, $col, $data[$row][$col]); // 在 sheet-1 中寫入數據$worksheet = $workbook- addWorksheet( Sheet-2 $data[]= array( id , username , company , email , mob , daytime , intent $data[] = array(1, 老梁 , **工作室 , jb51.net , 1363137966* ,time(), y $total_row = count($data);$total_col = count($data[0]);for ($row = 0; $row $total_row; $row ++) { for ($col = 0; $col $total_col; $col ++) { $worksheet- writeString($row, $col, $data[$row][$col]); // 在 sheet-2 中寫入數據$workbook- close(); // 完成下載? 

類二
-----函數說明
讀取Excel文件
function Read_Excel_File($ExcelFile,$Result)
$ExcelFile Excel文件名
$Result 返回的結果
函數返回值 正常返回0,否則返回錯誤信息
返回的值數組
$result[sheet名][行][列] 的值為相應Excel Cell的值

建立Excel文件
function Create_Excel_File($ExcelFile,$Data)
$ExcelFile Excel文件名
$Data Excel表格數據
請把函數寫在PHP腳本的開頭
例1:

 ?require excel_class.php Read_Excel_File( Book1.xls ,$return);for ($i=0;$i count($return[Sheet1]);$i++) for ($j=0;$j count($return[Sheet1][$i]);$j++) echo $return[Sheet1][$i][$j]. |  echo br ? 

例2:

 ?require excel_class.php Read_Excel_File( Book1.xls ,$return);Create_Excel_File( ddd.xls ,$return[Sheet1]);? 

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

ThinkPHP利用PHPExcel實現Excel數據的導入導出

以上就是基于php導出到Excel或CSV的方法的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高邑县| 印江| 扶风县| 得荣县| 宁安市| 天镇县| 获嘉县| 黔南| 女性| 临安市| 和顺县| 鹤庆县| 嵩明县| 余庆县| 内黄县| 扎赉特旗| 页游| 永康市| 大邑县| 浑源县| 虎林市| 眉山市| 新乐市| 上杭县| 临武县| 兴安县| 札达县| 临夏市| 荃湾区| 呼和浩特市| 广汉市| 金平| 肃宁县| 内丘县| 渭南市| 寻乌县| 新兴县| 稻城县| 新兴县| 湘潭县| 永福县|