1.php生成excel完整实例代码
2.用PHP读取Excel、导导入CSV文件
3.åºäºphpä¸ä½¿ç¨excelçç®åä»ç»
php生成excel完整实例代码
下载phpexcel类库 代码如下:
<?源码php
require_once('PHPExcel.php');
require_once('PHPExcel/IOFactory.php');
$objPHPExcel=new PHPExcel();
$iofactory=new IOFactory();
//获得数据 ---一般是从数据库中获得数据
$data=array(
0=>array('id'=>,'name'=>'张某某','age'=>),
1=>array('id'=>,'name'=>'EVA','age'=>)
);
//设置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,导导入 'Excel');
$objWriter -> save('SetExcelName.xlsx');
//导出代码
// $objPHPExcel->getActiveSheet() -> setTitle('SetExcelName');
// $objPHPExcel-> setActiveSheetIndex(0);
// $objWriter = $iofactory -> createWriter($objPHPExcel, 'Excel');
// $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、CSV文件
PHP读取excel、源码csv文件的导导入库有多个选择,其中使用较多的源码剑侠时代源码是PHPOffice/PHPExcel和PHPOffice/PhpSpreadsheet。尽管PHPExcel在年月日停止维护,导导入但建议转向使用更新的源码PhpSpreadsheet。本篇文章将介绍如何在PHP中利用PhpSpreadsheet读取excel文件。导导入
PhpSpreadsheet是源码一个纯PHP编写的库,提供丰富的导导入类和方法,支持多种文件格式,源码包括xlsx、导导入lsusb源码csv等。源码
要开始使用,导导入首先需要配置环境和安装所需工具。使用Composer安装最新版本的PhpSpreadsheet(默认为1.5版本)。如果需要安装开发版本,可执行特定命令。manager源码
建立项目后,创建一个html文件用于上传Excel文件。确保form表单的enctype属性为multipart/form-data。运行后,程序将接收文件并调用PhpSpreadsheet进行读取。
使用PhpSpreadsheet读取文件非常灵活。dbghelp源码读取不同格式文件时,只需调用相应方法,如使用\PhpOffice\PhpSpreadsheet\Reader\Xlsx()处理xlsx文件,使用\PhpOffice\PhpSpreadsheet\Reader\Csv()处理csv文件。通过一个工厂类\PhpOffice\PhpSpreadsheet\IOFactory,可以实现对文件类型自动识别。eureka源码
在读取Excel文件内容时,需要先引入autoload,然后创建一个Xlsx的reader,加载上传的文件。读取时,注意文件的格式和内容的读取方式,确保获取到正确的数据。例如,针对时间数据的特殊处理,以及只读模式下的数据显示。
使用时,还可以通过设置如setLoadSheetsOnly来选择读取特定的sheet,或者读取指定行和列的数据。另外,可以列出所有sheet名称或单个sheet的信息,以满足更通用的使用需求。
总的来说,使用PhpSpreadsheet处理Excel和CSV文件非常高效且功能强大,几乎可以满足日常需求,是PHP开发中处理此类文件的理想选择。
åºäºphpä¸ä½¿ç¨excelçç®åä»ç»
å¨å·¥ä½ä¸éè¦å¤çå¤è¯è¨çç¿»è¯é®é¢ï¼ç¿»è¯é½æ¯åå¨excelè¡¨æ ¼éé¢ã为äºå¤çæ¹ä¾¿æå°±ä¿çä¸æåè±æ两åãè¿æ ·éè¦å°è¿äºæ°æ®ä»excelä¸ååºæ¥ï¼ç¶ä¹ä¿åå¨excelçæ°ç»ä¸ï¼éè¿ä½¿ç¨å¾ªç¯æ°ç»å°ç¸åºçæ°æ®æ¾å ¥å°æ°æ®åºä¸ã
æ以工ä½ç第ä¸æ¥å°±æ¯è¦å°æ°æ®ä»excelä¸ååºæ¥ãè¿éæ使ç¨å°äºä¸ä¸ªå¼æºphpå¤çexcelç±»ï¼phpexcel.
该项ç®ç详ç»ä¿¡æ¯
/
ã
æç®å使ç¨çæ¯phpexcel1.7.3çæ¬,
解å缩åéé¢æä¸ä¸ªPHPExcelåPHPExcel.phpæ件ã
æ们主è¦ä½¿ç¨é£ä¸ªPHPæ件ãè§ä¸å¾æ件ç®å½ç»æ
è¿ä¸ªçæ¬æ®è¯´æ¯å¯ä»¥æ¯æexcelï¼ä½æ¯æ使ç¨ç¼è¾çxlsxæ¯æ æ³è·å¾è¯¥åºçæ¯æãäºæ¯ä¹æå°±å°å®è½¬å为ãæè§æ¯æå°å¾å¥½ã
ä¸é¢ä»ç»ä¸ä¸å ·ä½ç使ç¨ï¼
å¤å¶ä»£ç
代ç å¦ä¸:
require_once('./phpexcel1.7.3/PHPExcel.php');
$php_excel_obj
=
new
PHPExcel();
$php_reader
=
newPHPExcel_Reader_Excel();
if(!$php_reader->canRead($file_name)){
$php_reader=
new
PHPExcel_Reader_Excel5();
if(!$php_reader->canRead($file_name)){
echo'NO
Excel!';
}
}
$php_excel_obj
=
$php_reader->load($file_name);
$current_sheet
=$php_excel_obj->getSheet(0);
ä¸é¢ç主è¦åè½æ¯åå§åç¸å ³çexcelç±»ï¼å¹¶è£ è½½excel第ä¸ä¸ªsheet
å¤å¶ä»£ç
代ç å¦ä¸:
$all_column
=$current_sheet->getHighestColumn();
$all_row
=$current_sheet->getHighestRow();
以ä¸åå«è·å¾è¯¥è¡¨æ ¼çæ大åå¼(åæ¯è¡¨ç¤ºå¦ï¼âG'),åæ大çè¡æ°ï¼æ°å¼è¡¨ç¤ºï¼
ä¸é¢å°ä½¿ç¨å¾ªç¯æ¥è®²exceléé¢çæ°æ®è¯»å°excelä¸ï¼
å¤å¶ä»£ç
代ç å¦ä¸:
$all_arr
=
array();
$c_arr
=
array();
//åç¬¦å¯¹ç §è¡¨
for($r_i
=
1;
$r_i<=$all_row;
$r_i++){
$c_arr=
array();
for($c_i=
'A';
$c_i<=
'B';
$c_i++){
$adr=
$c_i
.
$r_i;
$value=
$current_sheet->getCell($adr)->getValue();
if($c_i==
'A'
&&
empty($value)
)
break;
if(is_object($value))
$value=
$value->__toString();
$c_arr[$c_i]=
$value;
}
$c_arr&&
$all_arr[]
=
$c_arr;
}
ä¸é¢ç®åå°ä»ç»ä¸ä¸phpexcelçåæä½ï¼è¿ä¸ªæä½ç»å¸¸ç¨äºå°æ°æ®åºä¸çæ°æ®å¯¼å ¥å°excelä¸ï¼ä¾¿äºå±ç¤ºååææ´ç¾è§çææã
å¤å¶ä»£ç
代ç å¦ä¸:
require_once('./phpexcel1.7.3/PHPExcel.php');
$excel_obj
=
new
PHPExcel();
$objWriter
=
newPHPExcel_Writer_Excel5($excel_obj);
$excel_obj->setActiveSheetIndex(0);
$act_sheet_obj=$excel_obj->getActiveSheet();
$act_sheet_obj->setTitle('sheet');
$act_sheet_obj->setCellValue('A1',
'å符串å 容');
$act_sheet_obj->setCellValue('A2',
);
$file_name
=
"output.xls";
$objWriter->save($file_name);
代ç å¾ç®åï¼
é¦å åå§åç¸å ³çexcelåç±»ï¼ç¶ååå ¥æ°æ®ï¼æåä¿å为xlsæ件ã
è¾åºçææè§å¾