導航:首頁 > 編程語言 > php導出excel2007實例

php導出excel2007實例

發布時間:2023-03-22 06:18:22

php怎麼導出大量數據的Excel

簡介:可以利用工具軟體導出成Excel文件

工具原料:Apache+php+mysql網站運行環境,phpMyAdmin v4.6.2

1、下載phpMyAdmin v4.6.2軟體後解壓放在網站根目錄

2、用root用戶和密碼登入phpMyAdmin,在左邊欄點擊要導出的資料庫,然後點擊要導出的數據表,最後點擊導出如圖所示。


5、最後點擊執行按鈕,OK.

Ⅱ php導出帶圖片的excel

比較大條的一個類庫,官方最新版已經蹦到7.多M大了。找了個民間精簡版1.多M的。

下面是這個PHP excel類庫
的一些使用方法要點備忘。來自互聯網。
官方網站:http://phpexcel.codeplex.com/
//設置PHPExcel類庫的include path
set_include_path('.'. PATH_SEPARATOR .
'include path' . PATH_SEPARATOR .
get_include_path());

/**
* 如果使用 Excel5 ,輸出的內容應該是GBK編碼。
*/
require_once 'PHPExcel.php';

//團絕扮 uncomment
////require_once 'PHPExcel/Writer/Excel5.php'; // 用於其他低版本xls
// or
////require_once 'PHPExcel/Writer/Excel2007.php'; // 用於 excel-2007 格式

// 創建一個處理對象實例
$objExcel = new PHPExcel();

// 創建文件格式寫入對象實例, uncomment
////$objWriter = new PHPExcel_Writer_Excel5($objExcel); // 用於其他版本格式
// or
////$objWriter = new PHPExcel_Writer_Excel2007($objExcel); //塌灶 用於 2007 格式
//$objWriter->setOffice2003Compatibility(true);

//*************************************
//設置文檔基本屬性
$objProps = $objExcel->getProperties();
$objProps->setCreator(「Zeal Li」宏碼);
$objProps->setLastModifiedBy(「Zeal Li」);
$objProps->setTitle(「Office XLS Test Document」);
$objProps->setSubject(「Office XLS Test Document, Demo」);
$objProps->setDescription(「Test document, generated by PHPExcel.」);
$objProps->setKeywords(「office excel PHPExcel」);
$objProps->setCategory(「Test」);

//*************************************
//設置當前的sheet索引,用於後續的內容操作。
//一般只有在使用多個sheet的時候才需要顯示調用。
//預設情況下,PHPExcel會自動創建第一個sheet被設置SheetIndex=0
$objExcel->setActiveSheetIndex(0);

$objActSheet = $objExcel->getActiveSheet();

//設置當前活動sheet的名稱
$objActSheet->setTitle(『測試Sheet』);

//*************************************
//設置單元格內容
//
//由PHPExcel根據傳入內容自動判斷單元格內容類型
$objActSheet->setCellValue(『A1′, 『字元串內容』); // 字元串內容
$objActSheet->setCellValue(『A2′, 26); // 數值
$objActSheet->setCellValue(『A3′, true); // 布爾值
$objActSheet->setCellValue(『A4′, 『=SUM(A2:A2)』); // 公式

//顯式指定內容類型
$objActSheet->setCellValueExplicit(『A5′, 』847475847857487584′,
PHPExcel_Cell_DataType::TYPE_STRING);

//合並單元格
$objActSheet->mergeCells(『B1:C22′);

//分離單元格
$objActSheet->unmergeCells(『B1:C22′);

//*************************************
//設置單元格樣式
//

//設置寬度
$objActSheet->getColumnDimension(『B』)->setAutoSize(true);
$objActSheet->getColumnDimension(『A』)->setWidth(30);

$objStyleA5 = $objActSheet->getStyle(『A5′);

//設置單元格內容的數字格式。
//
//如果使用了 PHPExcel_Writer_Excel5 來生成內容的話,
//這里需要注意,在 PHPExcel_Style_NumberFormat 類的 const 變數定義的
//各種自定義格式化方式中,其它類型都可以正常使用,但當setFormatCode
//為 FORMAT_NUMBER 的時候,實際出來的效果被沒有把格式設置為」0″。需要
//修改 PHPExcel_Writer_Excel5_Format 類源代碼中的 getXf($style) 方法,
//在 if ($this->_BIFF_version == 0×0500) { (第363行附近)前面增加一
//行代碼:
//if($ifmt === 』0′) $ifmt = 1;
//
//設置格式為PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大數字
//被使用科學記數方式顯示,配合下面的 setAutoSize 方法可以讓每一行的內容
//都按原始內容全部顯示出來。
$objStyleA5
->getNumberFormat()
->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

//設置字體
$objFontA5 = $objStyleA5->getFont();
$objFontA5->setName(『Courier New』);
$objFontA5->setSize(10);
$objFontA5->setBold(true);
$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objFontA5->getColor()->setARGB(『FF999999′);

//設置對齊方式
$objAlignA5 = $objStyleA5->getAlignment();
$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

//設置邊框
$objBorderA5 = $objStyleA5->getBorders();
$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getTop()->getColor()->setARGB(『FFFF0000′); // color
$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

//設置填充顏色
$objFillA5 = $objStyleA5->getFill();
$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objFillA5->getStartColor()->setARGB(『FFEEEEEE』);

//從指定的單元格復制樣式信息.
$objActSheet->plicateStyle($objStyleA5, 『B1:C22′);

//*************************************
//添加圖片
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName(『ZealImg』);
$objDrawing->setDescription(『Image inserted by Zeal』);
$objDrawing->setPath(『./zeali.net.logo.gif』);
$objDrawing->setHeight(36);
$objDrawing->setCoordinates(『C23′);
$objDrawing->setOffsetX(10);
$objDrawing->setRotation(15);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(36);
$objDrawing->setWorksheet($objActSheet);

//添加一個新的worksheet
$objExcel->createSheet();
$objExcel->getSheet(1)->setTitle(『測試2′);

//保護單元格
$objExcel->getSheet(1)->getProtection()->setSheet(true);
$objExcel->getSheet(1)->protectCells(『A1:C22′, 『PHPExcel』);

//*************************************
//輸出內容
//
$outputFileName = 「output.xls」;
//到文件
////$objWriter->save($outputFileName);
//or
//到瀏覽器
////header(「Content-Type: application/force-download」);
////header(「Content-Type: application/octet-stream」);
////header(「Content-Type: application/download」);
////header(『Content-Disposition:inline;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』);

這個php的excel類庫
是目前見到功能最好的。

以上引用自:http://sjolzy.cn/PHP-generated-excel-useful-powerful-php-excel-library.html

你用這個,瀏覽器就會提示下載了(chrome默認是保存在 我的文檔/Downloads里,不會提示下載,不知算不算?^_^)

Ⅲ php生成excel完整實例代碼

下載phpexcel類庫代碼如下:x0dx0aarray('id'=>2013,'name'=>'張某某','age'=>21),x0dx0a1=>array('id'=>201,'name'=>'EVA','age'=>21)x0dx0a);x0dx0a//設置excel列名x0dx0a$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1','編號');x0dx0a$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B1','姓名');x0dx0a$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C1','年齡');x0dx0a//把數據循環寫入excel中x0dx0aforeach($dataas$key=>$value){x0dx0a$key+=2;x0dx0a$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$key,$value['id']);x0dx0a$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$key,$value['name']);x0dx0a$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$key,$value['age']);x0dx0a}x0dx0a//excel保存在根目拆顫錄下如要導出文件,以下改為注釋凱鍵代碼x0dx0a$objPHPExcel->getActiveSheet()->setTitle('SetExcelName');x0dx0a$objPHPExcel->setActiveSheetIndex(0);x0dx0a$objWriter=$iofactory->createWriter($objPHPExcel,'Excel2007');x0dx0a$objWriter->save('SetExcelName.xlsx');x0dx0a//導出代碼x0dx0a//$objPHPExcel->getActiveSheet()->setTitle('SetExcelName');x0dx0a//$objPHPExcel->setActiveSheetIndex(0);x0dx0a//旅孫敗$objWriter=$iofactory->createWriter($objPHPExcel,'Excel2007');x0dx0a//$filename='SetExcelName.xlsx'x0dx0a//header('Content-Type:application/vnd.ms-excel');x0dx0a//header('Content-Type:application/octet-stream');x0dx0a//header('Content-Disposition:attachment;filename="'.$filename.'"');x0dx0a//header('Cache-Control:max-age=0');x0dx0a//$objWriter->save('php://output');x0dx0a?>

Ⅳ PHP如何將查詢出來的數據導出成excel表格(最好做一個按鈕)

講的復雜了啊!x0dx0a你先在一個完整版的PHPExcel之後解壓,在「Examples」目錄下會找到一大堆例子,根據你的要求這個「01simple-download-xlsx.php」文件就可以了!x0dx0a註:你先保持「01simple-download-xlsx.php」文件所在的目錄位置不要變,旦侍咐測試好了,再改變名,移到別的地方,地方變了的話,文件里的 「require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'」的所在位置也要變!x0dx0a我們要改動代碼很少,如下:x0dx0a// Add some datax0dx0a$objPHPExcel->setActiveSheetIndex(0)x0dx0a->setCellValue('A1', 'Hello')x0dx0a->setCellValue('B2', 'world!')x0dx0a->setCellValue('C1', 'Hello')x0dx0a->setCellValue('D2', 'world!');x0dx0ax0dx0a// Miscellaneous glyphs, UTF-8x0dx0a$objPHPExcel->setActiveSheetIndex(0)x0dx0a->setCellValue('A4', 'Miscellaneous glyphs')x0dx0a->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');x0dx0a、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、x0dx0a直接用的我的替換x0dx0a$objPHPExcel->setActiveSheetIndex(0)//這個就是現實導出的表第一行,有幾列是根據你的那張表有幾列!x0dx0a->setCellValue('A1', '單號')x0dx0a->setCellValue('B1', '標題')x0dx0a->setCellValue('C1', '內容')x0dx0a->setCellValue('D1', '序列')x0dx0a->setCellValue('E1', '數字');x0dx0a//下面實現的談吵就是建立資料庫連接,直接到表,你的連接資料庫、表、欄位應該與我的不一樣,你可以參考x0dx0a$conn=@mysql_connect("localhost","root","root") or die("資料庫伺服器連接錯誤".mysql_error());//模純連接mysql資料庫x0dx0amysql_select_db("temp",$conn) or die("資料庫訪問錯誤".mysql_error());//資料庫x0dx0amysql_query("set character set gb2312");x0dx0amysql_query("set names gb2312");x0dx0ax0dx0a$sqlgroups="select * from test ";//查詢這一張表的條件x0dx0a$resultgroups=mysql_query($sqlgroups);x0dx0a$numrows=mysql_num_rows($resultgroups);x0dx0aif ($numrows>0)x0dx0a{x0dx0a$count=1;x0dx0awhile($data=mysql_fetch_array($resultgroups))x0dx0a{x0dx0a$count+=1;x0dx0a$l1="A"."$count";x0dx0a$l2="B"."$count";x0dx0a$l3="C"."$count";x0dx0a$l4="D"."$count";x0dx0a$l5="E"."$count";x0dx0a$objPHPExcel->setActiveSheetIndex(0) x0dx0a->setCellValue($l1, $data['id'])//這就是你要導出表的欄位、與對應的名稱x0dx0a->setCellValue($l2, $data['title'])x0dx0a->setCellValue($l3, $data['content'])x0dx0a->setCellValue($l4, $data['sn'])x0dx0a->setCellValue($l5, $data['num']);x0dx0a}x0dx0a}

Ⅳ 怎麼php導出excel是空白

你要給出的代碼來才能找出問題啊,不夠給一個例子給你看看。

下面有幾種方法。


基本上導出的文件分為兩種:
1:類Excel格式,這個其實不是傳統意義上的Excel文件,只是因為Excel的兼容能力強,能夠正確打開而已。修改這種文件後再保存,通常會提示你是否要轉換成Excel文件。
優點:簡單。
缺點:難以生成格式,如果用來導入需要自己分別編寫相應的程序。
2:Excel格式,與類Excel相對應,這種方法生成的文件更接近於真正的Excel格式。

如果導出中文時出現亂碼,可以嘗試將字元串轉換成gb2312,例如下面就把$yourStr從utf-8轉換成了gb2312:
$yourStr = mb_convert_encoding("gb2312", "UTF-8", $yourStr);

一、PHP導入Excel

1:還是用PHPExcel,官方網站: http://www.codeplex.com/PHPExcel。

2:使用PHP-ExcelReader,下載地址: http://sourceforge.net/projects/phpexcelreader
舉例:
<?php
require_once 'Excel/reader.php';

// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();

// Set output Encoding.
$data->setOutputEncoding('utf8');

$data->read(' jxlrwtest.xls');


error_reporting(E_ALL ^ E_NOTICE);

for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
echo """.$data->sheets[0]['cells'][$i][$j]."",";
}
echo " ";
}

?>

總結 php導出Excel php導入Excel PhpExcel使用說明 PhpExcel使用手冊

方法一:特點,簡單,省心,製表符" "用戶分割同一行中的列,換行符" "可以開啟下一行,還能夠自動識別日期格式,貨幣格式等!

<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
//輸出內容如下:
echo"姓名"." ";
echo"年齡"." ";
echo"學歷"." ";
echo" ";
echo"張三"." ";
echo"25"." ";
echo"本科"." ";
?>
動態版
<?
$sql = "SELECT * FROM " .$ecs->table('member'). " ";
$classres = $db->Execute($sql);
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment; filename=test_data.xls");
echo 'ID'.chr(9);
echo 'txtPEOClientCode'.chr(9);
echo 'jcompany'.chr(9);
echo 'fcompany'.chr(9);
echo 'ecompany'.chr(9);
echo 'rcompany'.chr(9);
echo 'txtAddress'.chr(9);
echo 'txtCompanyTel'.chr(9);
echo 'txtFax'.chr(9);
echo 'txtPostCode'.chr(9);
echo chr(13);
while ($classrow = $classres->FetchRow())
{
//輸出到xls
echo $classrow['id'].chr(9);
echo $classrow['txtPEOClientCode'].chr(9);
echo $classrow['jcompany'].chr(9);
echo $classrow['fcompany'].chr(9);
echo $classrow['ecompany'].chr(9);
echo $classrow['rcompany'].chr(9);
echo $classrow['txtAddress'].chr(9);
echo $classrow['txtCompanyTel'].chr(9);
echo $classrow['txtFax'].chr(9);
echo $classrow['txtPostCode'].chr(9);
echo chr(13);
}

現在用的Php-excel(http://code.google.com/p/php-excel/downloads/list),代碼也很簡單:

require (dirname (__FILE__) . "./class-excel-xml.inc.php");
$sql = "SELECT * FROM " .$ecs->table('member'). " ";
$classres = $db->Execute($sql);

while($classrow = $classres->FetchRow())
{
$doc[] =array ($classrow['txtPEOClientCode'], $classrow['jcompany'], $classrow['txtBillTo']);
}


$xls = new Excel_XML;
$xls->addArray($doc);
$xls->generateXML("mytest");

我用的utf-8,結果有亂碼問題,把class-excel-xml.inc.php utf8_encode($v) 替換成$v就沒有亂碼問題了。


1:第一推薦無比風騷的PHPExcel,官方網站: http://www.codeplex.com/PHPExcel
導入導出都成,可以導出office2007格式,同時兼容2003。
下載下來的包中有文檔和例子,大家可以自行研究。
抄段例子出來:

http://www.codeplex.com/PHPExcel

<?php
ini_set("display_errors",1);//是否顯示報錯信息
ini_set('include_path', ini_get('include_path').';D:\PHP\PHPExcel 1.6.6\Tests\classes\');//設置此頁麵包含路徑

include "classes/PHPExcel.php";
include "classes/PHPExcel/Writer/Excel5.php";

//創建一個excel
$objPHPExcel = new PHPExcel();
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);

$objWriter->save("xxx.xls");
?>

--------------------------------------------------------------------------------------
<?
//設置PHPExcel類庫的include path
set_include_path('.'. PATH_SEPARATOR .'D:workspaceiznaligy_ehdev_srcincludesPHPExcel' . PATH_SEPARATOR . get_include_path());


require_once 'PHPExcel.php';
require_once 'PHPExcel/Writer/Excel5.php';// 用於其他低版本xls

require_once 'PHPExcel/Writer/Excel2007.php'; // 用於 excel-2007 格式

// 創建一個處理對象實例
$objExcel = new PHPExcel();

// 創建文件格式寫入對象實例, uncomment
$objWriter = new PHPExcel_Writer_Excel5($objExcel);// 用於其他版本格式
//or
//$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用於 2007 格式
//$objWriter->setOffice2003Compatibility(true);


//設置文檔基本屬性
$objProps = $objExcel->getProperties();
$objProps->setCreator("Zeal Li");
$objProps->setLastModifiedBy("Zeal Li");
$objProps->setTitle("Office XLS Test Document");
$objProps->setSubject("Office XLS Test Document, Demo");
$objProps->setDescription("Test document, generated by PHPExcel.");
$objProps->setKeywords("office excel PHPExcel");
$objProps->setCategory("Test");
//設置當前的sheet索引,用於後續的內容操作。
//一般只有在使用多個sheet的時候才需要顯示調用。
//預設情況下,PHPExcel會自動創建第一個sheet被設置SheetIndex=0
$objExcel->setActiveSheetIndex(0);

$objActSheet = $objExcel->getActiveSheet();

//設置當前活動sheet的名稱
$objActSheet->setTitle('測試Sheet');


//設置單元格內容

//由PHPExcel根據傳入內容自動判斷單元格內容類型
$objActSheet->setCellValue('A1', '字元串內容'); // 字元串內容
$objActSheet->setCellValue('A2', 26);// 數值
$objActSheet->setCellValue('A3', true);// 布爾值
$objActSheet->setCellValue('A4', '=SUM(A2:A2)'); // 公式

//顯式指定內容類型
$objActSheet->setCellValueExplicit('A5', '847475847857487584', PHPExcel_Cell_DataType::TYPE_STRING);

//合並單元格
$objActSheet->mergeCells('B1:C22');

//分離單元格
$objActSheet->unmergeCells('B1:C22');

//設置單元格樣式

//設置寬度
$objActSheet->getColumnDimension('B')->setAutoSize(true);
$objActSheet->getColumnDimension('A')->setWidth(30);

$objStyleA5 = $objActSheet->getStyle('A5');

//設置單元格內容的數字格式。

//如果使用了 PHPExcel_Writer_Excel5 來生成內容的話,
//這里需要注意,在 PHPExcel_Style_NumberFormat 類的 const 變數定義的
//各種自定義格式化方式中,其它類型都可以正常使用,但當setFormatCode
//為 FORMAT_NUMBER 的時候,實際出來的效果被沒有把格式設置為"0"。需要
//修改 PHPExcel_Writer_Excel5_Format 類源代碼中的 getXf($style) 方法,
//在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一
//行代碼:
//if($ifmt === '0') $ifmt = 1;

//設置格式為PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大數字
//被使用科學記數方式顯示,配合下面的 setAutoSize 方法可以讓每一行的內容
//都按原始內容全部顯示出來。
$objStyleA5 ->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

//設置字體
$objFontA5 = $objStyleA5->getFont();
$objFontA5->setName('Courier New');
$objFontA5->setSize(10);
$objFontA5->setBold(true);
$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objFontA5->getColor()->setARGB('FF999999');

//設置對齊方式
$objAlignA5 = $objStyleA5->getAlignment();
$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

//設置邊框
$objBorderA5 = $objStyleA5->getBorders();
$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getTop()->getColor()->setARGB('FFFF0000'); // color
$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

//設置填充顏色
$objFillA5 = $objStyleA5->getFill();
$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objFillA5->getStartColor()->setARGB('FFEEEEEE');

//從指定的單元格復制樣式信息.
$objActSheet->plicateStyle($objStyleA5, 'B1:C22');

//添加圖片
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('ZealImg');
$objDrawing->setDescription('Image inserted by Zeal');
$objDrawing->setPath('./zeali.net.logo.gif');
$objDrawing->setHeight(36);
$objDrawing->setCoordinates('C23');
$objDrawing->setOffsetX(10);
$objDrawing->setRotation(15);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(36);
$objDrawing->setWorksheet($objActSheet);

//添加一個新的worksheet
$objExcel->createSheet();
$objExcel->getSheet(1)->setTitle('測試2');

//保護單元格
$objExcel->getSheet(1)->getProtection()->setSheet(true);
$objExcel->getSheet(1)->protectCells('A1:C22', 'PHPExcel');

//輸出內容


$outputFileName = "output.xls";
//到文件
////$objWriter->save($outputFileName);
//or
//到瀏覽器
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="'.$outputFileName.'"');
header("Content-Transfer-Encoding: binary");
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');
?>

Ⅵ 如何使用PHP導出csv和excel文件

(一)phpexcel文件導出:
步驟1,引入文件require APPPATH.'/libraries/PHPExcel.PHP';
步驟2, 實例化PHPEXCEL對象 $objPHPExcel=new PHPExcel();
步驟3, 設置表頭 $column = array('A','B','C'); $line = array('詞語','頻次','詞性');
//填充表頭信息
for($i = 0;$i < count($tableheader_all);$i++) {
$objPHPExcel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
//上一行中"$letter[$i]1"表示第「1」行第「$i」列
}
步驟4, 填充數據
for ($i = 2;$i <= count($data) + 1;$i++) {//因為內容是從第二行開始的,所以i=2表示從第二行開始填充數據
$j = 0;
foreach ($tmp as $key=>$val ){
$objPHPExcel->getActiveSheet()->setCellValue("$letter[$j]$i",$data[$i-2][$val]); //數據是從第一條開始但是i的初值是2所以想從第一條開始應該是$data[$i-2]開始
$j++;
}
}
步驟5,寫進excel中並輸出
$write = new PHPExcel_Writer_Excel5($objPHPExcel);
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/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="數據導出_詞雲圖.xls"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');

(一)CSV文件導出:
csv文件導出最令人頭疼的問題就是編碼問題,現在分享一下我的經驗
首先看伺服器是linux的還是windows的 如果是windows的伺服器那麼編碼問題只能藉助於mb_convert_encoding()或者是iconv兩個函數相互轉換中文編碼
如果伺服器是linux的 那麼很簡單 utf-8: setlocale(LC_ALL, 『en_US.UTF-8′); 簡體中文:setlocale(LC_ALL, 『zh_CN');
下面來說csv導出步驟:

$result = mysql_query("select * from student order by id asc");
$str = "姓名,性別,年齡\n";
$str = iconv('utf-8','gb2312',$str);
while($row=mysql_fetch_array($result)){
$name = iconv('utf-8','gb2312',$row['name']); //中文轉碼
$sex = iconv('utf-8','gb2312',$row['sex']);
$str .= $name.",".$sex.",".$row['age']."\n"; //用引文逗號分開
}
$filename = date('Ymd').'.csv'; //設置文件名
export_csv($filename,$str); //導出
要將數據導出到本地即下載,需要修改header信息,代碼如下:
function export_csv($filename,$data) {
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $data;
}

Ⅶ php導出excel表後,打包成壓縮包,然後下載到本地如何實現

用PHPExcel,PHPExcel是相當強大的 MS Office Excel 文檔生成類庫。

你上它的官/網把程序包下/載下來,裡面有 PHPExcel 的程序、還有30個實常式序和三個文檔。
看一下其中的開發文檔你就會用了。

讀取(這段在開發文檔里有的,在13頁):
require_once '../Classes/PHPExcel/IOFactory.php';

$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);

$objPHPExcel = $objReader->load("test.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();

echo '<table>' . "\n";
foreach ($objWorksheet->getRowIterator() as $row) {
echo '<tr>' . "\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo '<td>' . $cell->getValue() . '</td>' . "\n";
}
echo '</tr>' . "\n";
}
echo '</table>' . "\n";
?>

Ⅷ php生成excel完整實例代碼

下載phpexcel類庫 代碼如下:
<?php
require_once('PHPExcel.php');
require_once('PHPExcel/IOFactory.php');
$objPHPExcel=new PHPExcel();
$iofactory=new IOFactory();
//獲得數據 ---一般是從資料庫中獲得數據
$data=array(
0=>array('id'=>2013,'name'=>'張某某','age'=>21),
1=>array('id'=>201,'name'=>'EVA','age'=>21)
);
//設置excel列名
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1','編號');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B1','姓名');
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C1','年齡');
//把數據循環寫入excel中
foreach($data as $key => $value){
$key+=2;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$key,$value['id']);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$key,$value['name']);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$key,$value['age']);
}
//excel保存在根目錄下 如要導出文件,以下改為注釋代碼
$objPHPExcel->getActiveSheet() -> setTitle('SetExcelName');
$objPHPExcel-> setActiveSheetIndex(0);
$objWriter = $iofactory -> createWriter($objPHPExcel, 'Excel2007');
$objWriter -> save('SetExcelName.xlsx');
//導出代碼
// $objPHPExcel->getActiveSheet() -> setTitle('SetExcelName');
// $objPHPExcel-> setActiveSheetIndex(0);
// $objWriter = $iofactory -> createWriter($objPHPExcel, 'Excel2007');
// $filename = 'SetExcelName.xlsx';
// header('Content-Type: application/vnd.ms-excel');
// header('Content-Type: application/octet-stream');
// header('Content-Disposition: attachment; filename="' . $filename . '"');
// header('Cache-Control: max-age=0');
// $objWriter -> save('php://output');
?>

Ⅸ php 把資料庫中的數據 輸出到 Excel

方法一:
<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
$tx='表頭';
echo
$tx."\n\n";
//輸出內容如下:
echo
"姓名"."\t";
echo
"年齡"."\t";
echo
"學歷"."\t";
echo
"\n";
echo
"張三"."\t";
echo
"25"."\t";
echo
"本科"."\t";
?>
方法二:
PHPEXCEL
類庫,功能強大,支持win
Excel2003
,Win
Excel2007.下載類庫,里邊有例子

閱讀全文

與php導出excel2007實例相關的資料

熱點內容
華為amd雲伺服器 瀏覽:495
漢化編程卡是什麼意思 瀏覽:126
python學習pdf 瀏覽:313
祝緒丹程序員那麼可愛拍吻戲 瀏覽:198
asp源碼會員消費系統 瀏覽:113
java反射設置 瀏覽:152
python一行文 瀏覽:439
排序演算法優缺點 瀏覽:563
惡搞加密文件pdf 瀏覽:674
gif怎麼壓縮圖片大小 瀏覽:217
命令選擇當前不可用 瀏覽:158
歐幾里得演算法如何求逆元 瀏覽:506
男中學生上課解壓神器 瀏覽:373
加密狗拔掉之後怎麼辦 瀏覽:27
雲儲存平台源碼 瀏覽:847
解壓文件蘋果手機rar 瀏覽:149
centos開機命令行模式 瀏覽:697
遍歷所有listpython 瀏覽:660
力控加密文件夾 瀏覽:517
如何更改移動伺服器密碼 瀏覽:686