phpexcel
A. phpEXCEL怎麼使用
步驟一、滑鼠點選到C1的單元格中,然後輸入公式「=A1*B1」; 步驟二、此時,從第二排單元格中開始輸入你需要求積的數字; 步驟三、好了,最關鍵的時刻就在這里了。我們將滑鼠選中「C1」,然後當游標變成十字架形狀的時候一直網下拉,放開滑鼠,你就會發現,所有自動求積的計算就都已經完成了!
B. phpExcel導出給單元格添加批註
// 創建一個處理對象實例
$objExcel = new PHPExcel();
......
...
是這樣的沒有錯,把getComment('D11')中的D11替換成你要添加的列,然後最後輸出改成
$objWriter = new PHPExcel_Writer_Excel2007($objExcel);
$objWriter->save('php://output');
C. PHP 用PHPExcel往資料庫導入大量數據
1、將數據先放進文本文檔(如果是幾列,請按格式弄好,並用逗號隔開, 這里得符號可以換成其他)。
D. PHP操作excel報錯(見如下代碼)
你這應該是多了一個?>導致PHP程序提前閉合,後面代碼缺失php環境聲明,原樣輸出了。
E. phpexcel 支持什麼版本的 excel
require_once 'PHPExcel.php';
////require_once'PHPExcel/Writer/Excel5.php'; // 用於其他低版本xls
// or
////require_once'PHPExcel/Writer/Excel2007.php'; // 用於excel-2007 格式
// 創建一個處理對象實例
$objExcel = new PHPExcel();
// 創建文件格式寫入對象實例, uncomment
////$objWriter = newPHPExcel_Writer_Excel5($objExcel); // 用於其他版本格式
// or
////$objWriter = newPHPExcel_Writer_Excel2007($objExcel); // 用於2007 格式
$objProps = $objExcel->getProperties ();
//設置創建者
$objProps->setCreator ( 'XuLulu');
//設置最後修改者
$objProps->setLastModifiedBy("XuLulu");
//描述
$objProps->setDescription("摩比班級");
//設置標題
$objProps->setTitle ( '管理器' );
//設置題目
$objProps->setSubject("OfficeXLS Test Document, Demo");
//設置關鍵字
$objProps->setKeywords ( '管理器' );
//設置分類
$objProps->setCategory ( "Test");
//工作表設置
$objExcel->setActiveSheetIndex( 0 );
$objActSheet = $objExcel->getActiveSheet ();
//單元格賦值 例:
$objActSheet->setCellValue ( 'A1', 'ID');
$objActSheet->setCellValue ( 'B1', 'HashCode');
$objActSheet->setCellValue ( 'C1', 'ModelName');
$objActSheet->setCellValue ( 'D1', 'IndexName');
F. php導出excel如何保留前面的0
「首先,我們了解一下excel從web頁面上導出的原理。當我們把這些數據發送到客戶端時,我們想讓客戶端程序(瀏覽器)以excel的格式讀取
它,所以把mime類型設為:application/vnd.ms-excel,當excel讀取文件時會以每個cell的格式呈現數據,如果cell
沒有規定的格式,則excel會以默認的格式去呈現該cell的數據。這樣就給我們提供了自定義數據格式的空間,當然我們必須使用excel支持的格式。
下面就列出常用的一些格式:
1) 文本:vnd.ms-excel.numberformat:@
2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
3) 數字:vnd.ms-excel.numberformat:#,##0.00
4) 貨幣:vnd.ms-excel.numberformat:¥#,##0.00
5) 百分比:vnd.ms-excel.numberformat: #0.00%
這些格式你也可以自定義,比如年月你可以定義為:yy-mm等等。那麼知道了這些格式,怎麼去把這些格式添加到cell中呢?很簡單,我們只需要把樣式添加到對應的標簽對(即閉合標簽)即可。如
,給標簽對添加樣式,如下: <td style="vnd.ms-excel.numberformat:@">410522198402161833</td>
G. PHPEXCEL寫入即有的EXCEL
$objPHPExcel->setActiveSheetIndex($i)
->setCellValue('A1','時間')
->setCellValue('B1','帶寬峰值Mbps');
$time=substr($value["sd_datetime"],4,2).'-'.substr($value["sd_datetime"],6,2).''.substr($value["sd_datetime"],8,2).':'.substr($value["sd_datetime"],10);
$objPHPExcel->setActiveSheetIndex($i)->setCellValue('A'.$j,$time);
$objPHPExcel->setActiveSheetIndex($i)->setCellValue('B'.$j,$value["bw"]/1000);
從第三行開始,那就是是從A3開始,把i初始化為A,使用phpexcel的setCellValue函數來填充數據,然後根據數據條數來每次遞加,直到裝滿數據為止;數據裝完之後想提供給客戶下載,那就用header函數就好了,文件名由你來定
header('Content-Type:application/vnd.ms-excel');
header('Content-Disposition:attachment;filename="'.$outputFileName.'"');
header('Cache-Control:max-age=0');
//Ifyou'reservingtoIE9,thenthefollowingmaybeneeded
header('Cache-Control:max-age=1');
//Ifyou'reservingtoIEoverSSL,thenthefollowingmaybeneeded
header('Expires:Mon,26Jul199705:00:00GMT');//Dateinthepast
header('Last-Modified:'.gmdate('D,dMYH:i:s').'GMT');//alwaysmodified
header('Cache-Control:cache,must-revalidate');//HTTP/1.1
header('Pragma:public');//HTTP/1.0
$objWriter=IOFactory::createWriter($objPHPExcel,'Excel5');
$objWriter->save('php://output');
大概思路是這樣,具體實現你要根據自己的業務需求來修改
H. phpExcel可以一次生成多個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');
?>
I. phpexcel如何寫入已有的excel
直接讀取查詢的結果集,填充到excel單元格就可以了;
參考例子如下:
objPHPExcel=newPHPExcel();
$excelType=PHPExcel_IOFactory::identify($_FILES['file']['tmp_name']);
$objReader=PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel=$objReader->load($_FILES['file']['tmp_name']);//$filename可以是上傳的文件,或者是指定的文件
$sheet=$objPHPExcel->getSheet(0);
$highestRow=$sheet->getHighestRow();//取得總行數
if($highestRow>1500){
echo'數據超過大小限制。請確保數據不超過1500行!';die;
}
$highestColumn=$sheet->getHighestColumn();//取得總列數
$k=0;
//循環讀取excel文件,讀取一條,插入一條
for($j=2;$j<=$highestRow;$j++)
{
$d['id']=$objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();//ID
$d['name']=$objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();//姓名
$date=explode('/',$objPHPExcel->getActiveSheet()->getCell("F".$j)->getValue());//日期
}