php匯出excel2007表格

來源:互聯網
上載者:User
先鄭重聲明一下。這個文章是我原創。幫客之家轉載我的文章是否能表明文章轉載來源呢?http://blog.csdn.net/luosisan/article/details/41749701這是小弟的上一篇文章,被這個幫客之家大言不慚的複製粘貼了。並且連圖片浮水印都不帶修改的,大家不信的可以去看看我的文章類表。這個是幫客之家的連結http://www.bkjia.com/sjkqy/922621.html,轉載沒問題。完全ok,但你得說一聲吧,這樣最起碼錶示我自己辛辛苦苦打這麼多字的尊重吧。好了,不說了。扯得有點遠了。希望下不為例,走入正題

在工作中可能會遇到php匯出excel的情況,網上有很多方法,有一個很簡單的方法,我就不提了。有興趣的可以去搜一下。但這個方法並不是真正的產生excel表格。要想真正的產生excel表格,得用到phpExcel類。在文章的最後我會給出下載地址。下載以後如何使用呢?下面做一個詳細的原始碼舉例說明:

date_default_timezone_set("Etc/GMT-8"). //設定時區
header('Content-Type: text/html; charset=utf-8'); //設定網頁編碼方式,最好是utf-8
require_once './Classes/PHPExcel.php'; //路徑根據自己實際項目的路徑進行設定
$objPHPExcel = new PHPExcel(); //建立PHPExcel執行個體
//下面是對mysql資料庫的串連
$conn = mysql_connect("localhost","root","123456") or die("資料庫連接失敗!");
mysql_select_db("test",$conn); //串連資料庫
mysql_query("set names 'GBK'"); //轉換字元編碼
$sql = mysql_query("select * from goods_info"); //查詢sql語句
/*--------------設定表頭資訊------------------*/
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'ID編號')
->setCellValue('B1', '商品名稱')
->setCellValue('C1', '貨號')
->setCellValue('D1', '商品條碼')
->setCellValue('E1', '型號規格')
->setCellValue('F1', '吊牌價');

/*--------------開始從資料庫提取資訊插入Excel表中------------------*/
$i=2; //定義一個i變數,目的是在迴圈輸出資料是控制行數
//$rows=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
while($rs=mysql_fetch_array($sql)){
$rm = iconv("gbk", "UTF-8//IGNORE",$rs[1]); //對字元進行編碼將資料庫裡GB2312的中文字元轉換成UTF-8格式
$objPHPExcel->setActiveSheetIndex(0)

->setCellValue("A".$i, $rs[0]) //向單元格中填寫資料
->setCellValue("B".$i, $rm) //由於我的這一列是中文,所以在上面進行了編碼
->setCellValue("C".$i, $rs[2])
->setCellValue("D".$i, $rs[3])
->setCellValue("E".$i, $rs[4])
->setCellValue("F".$i, $rs[5]);
$i++;
}
/*--------------下面是設定其他資訊------------------*/
$objPHPExcel->getActiveSheet()->setTitle('Example1'); //設定sheet的名稱
$objPHPExcel->setActiveSheetIndex(0); //設定sheet的起始位置
//注意下面是excel2007。不要寫成excel5不然會是亂碼。
//如果還是亂碼看看你自己資料的編碼方式
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

//上面是通過PHPExcel_IOFactory的寫函數將上面資料

$outputFileName = "測試.xls";

//標題您的瀏覽器並告訴它強制下載,而不是在瀏覽器中啟動並執行檔案
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");//檔案流
header("Content-Type: application/download"); //下載檔案
header('Content-Disposition:attachment;filename=" $outputFileName');
header("Content-Transfer-Encoding: binary");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");//上一次修改時間
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache"); //不快取頁面面
$objWriter->save('php://output'); //輸出到瀏覽器
?>

這個連結是我的原始碼,http://download.csdn.net/detail/luosisan/8255551。其中包括了我上面說的phpexcel類。小弟也是剛入門php。有什麼不對的地方,希望大神莫怪

以上就介紹了php匯出excel2007表格,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.