当前位置:网站首页>PHP and excel phpexcel
PHP and excel phpexcel
2022-07-06 19:49:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm the king of the whole stack .
1、PHPExcel A brief introduction
PHPExcel It's used to operate Office Excel file PHP The library , It's based on Microsoft OpenXML standard PHP Language . Be able to use it to read 、 Write different types of spreadsheet , for example Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML wait .
2、EXCEL export file
include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
// perhaps include 'PHPExcel/Writer/Excel5.php'; For output .xls Of
Create a excel
$objPHPExcel = new PHPExcel();
preservation excel—2007 Format
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
// perhaps $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); Not 2007 Format
$objWriter->save("xxx.xlsx");
Output directly to the browser
$objWriter = 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="resume.xls"');
header("Content-Transfer-Encoding;binary");
$objWriter->save('php;//output');
——————————————————————————————————————–
Set up excel Properties of :
founder
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
Last changed by
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
title
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
subject
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
Description and narration
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
keyword
$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");
species
$objPHPExcel->getProperties()->setCategory("Test result file");
——————————————————————————————————————–
Set current sheet
$objPHPExcel->setActiveSheetIndex(0);
Set up sheet Of name
$objPHPExcel->getActiveSheet()->setTitle('Simple');
Set the value of the cell
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'String');
$objPHPExcel->getActiveSheet()->setCellValue('A2', 12);
$objPHPExcel->getActiveSheet()->setCellValue('A3', true);
$objPHPExcel->getActiveSheet()->setCellValue('C5', '=SUM(C2;C4)');
$objPHPExcel->getActiveSheet()->setCellValue('B8', '=MIN(B2;C5)');
merge cell
$objPHPExcel->getActiveSheet()->mergeCells('A18;E22');
Separate cells
$objPHPExcel->getActiveSheet()->mergeCells('A18;E22');
$objPHPExcel->getActiveSheet()->mergeCells('A28;B28');
$objPHPExcel->getActiveSheet()->unmergeCells('A28;B28');
Protect cell
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // Needs to be set to true in order to enable any worksheet protection!
$objPHPExcel->getActiveSheet()->protectCells('A3;E13', 'PHPExcel');
Format
// Set cell number formats
echo date('H;i;s') . " Set cell number formats\n";
$objPHPExcel->getActiveSheet()->getStyle('E4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat;;FORMAT_CURRENCY_EUR_SIMPLE);
$objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle('E4'), 'E5;E13' );
Set the width width
// Set column widths
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);
Set up font
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara');
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(20);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(PHPExcel_Style_Font;;UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color;;COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color;;COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle('D13')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('E13')->getFont()->setBold(true);
Set up align
$objPHPExcel->getActiveSheet()->getStyle('D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment;;HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('D12')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment;;HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('D13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment;;HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment;;HORIZONTAL_JUSTIFY);
// Vertical center
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment;;VERTICAL_CENTER);
Set up column Of border
$objPHPExcel->getActiveSheet()->getStyle('A4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border;;BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('B4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border;;BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('C4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border;;BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('D4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border;;BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('E4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border;;BORDER_THIN);
Set up border Of color
$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getLeft()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getTop()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getTop()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getRight()->getColor()->setARGB('FF993300');
Set fill color
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill;;FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setARGB('FF808080');
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->setFillType(PHPExcel_Style_Fill;;FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->getStartColor()->setARGB('FF808080');
Add pictures
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');
$objDrawing->setPath('./images/officelogo.jpg');
$objDrawing->setHeight(36);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Paid');
$objDrawing->setDescription('Paid');
$objDrawing->setPath('./images/paid.png');
$objDrawing->setCoordinates('B15');
$objDrawing->setOffsetX(110);
$objDrawing->setRotation(25);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(45);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
By default sheet after . Create a worksheet
echo date('H;i;s') . " Create new Worksheet object\n";
$objPHPExcel->createSheet();
3、EXCEL Import
require_once 'PHPExcel/IOFactory.php';
$inputFileName = 'ceshi.xls';
$objReader = new PHPExcel_Reader_Excel5();
$objPHPExcel = $objReader->load($inputFileName);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // Get the total number
$highestColumn = $sheet->getHighestColumn(); // Get the total number of columns
$tempArray = array();
for($j=2;$j<=$highestRow;$j++){
for($k='A';$k<=$highestColumn;$k++){
if($k=='M'||$k=='O') //M Column sum O The column is time
$tempArray[] = excelTime($objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue());
else
$tempArray[] = $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();
}
print_r($tempArray);
unset($tempArray);
}
function excelTime($date, $time = false) {
if(function_exists('GregorianToJD')){
if (is_numeric( $date )) {
$jd = GregorianToJD( 1, 1, 1970 );
$gregorian = JDToGregorian( $jd + intval ( $date ) - 25569 );
$date = explode( '/', $gregorian );
$date_str = str_pad( $date [2], 4, '0', STR_PAD_LEFT )
."-". str_pad( $date [0], 2, '0', STR_PAD_LEFT )
."-". str_pad( $date [1], 2, '0', STR_PAD_LEFT )
. ($time ? " 00:00:00" : ''); return $date_str; } }else{ $date=$date>25568?$date+1:25569; /*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/ $ofs=(70 * 365 + 17+2) * 86400; $date = date("Y-m-d",($date * 86400) - $ofs).($time ? " 00:00:00" : ''); } return $date;}
Copyright notice : This article is an original blog article . Blog , Without consent , Shall not be reproduced .
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/117146.html Link to the original text :https://javaforall.cn
边栏推荐
- 理解 YOLOV1 第二篇 预测阶段 非极大值抑制(NMS)
- Information System Project Manager - Chapter VIII project quality management
- Tensorflow2.0 self defined training method to solve function coefficients
- It's enough to read this article to analyze the principle in depth
- 学习打卡web
- golang的超时处理使用技巧
- 潇洒郎: AttributeError: partially initialized module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipe
- From spark csc. csr_ Matrix generate adjacency matrix
- 【计算情与思】扫地僧、打字员、信息恐慌与奥本海默
- How to customize animation avatars? These six free online cartoon avatar generators are exciting at a glance!
猜你喜欢
PowerPivot——DAX(初识)
In depth analysis, Android interview real problem analysis is popular all over the network
2022年6月语音合成(TTS)和语音识别(ASR)论文月报
Social recruitment interview experience, 2022 latest Android high-frequency selected interview questions sharing
Teach you to learn JS prototype and prototype chain hand in hand, a tutorial that monkeys can understand
Information System Project Manager - Chapter VIII project quality management
学习打卡web
How to customize animation avatars? These six free online cartoon avatar generators are exciting at a glance!
DaGAN论文解读
Mysql Information Schema 学习(二)--Innodb表
随机推荐
Example of shutter text component
Mysql Information Schema 學習(一)--通用錶
测试用里hi
腾讯云数据库公有云市场稳居TOP 2!
数据的同步为每个站点创建触发器同步表
Appx代码签名指南
学习探索-使用伪元素清除浮动元素造成的高度坍塌
Learning and Exploration - Seamless rotation map
转让malloc()该功能后,发生了什么事内核?附malloc()和free()实现源
[play with Linux] [docker] MySQL installation and configuration
社招面试心得,2022最新Android高频精选面试题分享
1805. Number of different integers in the string
Mind map + source code + Notes + project, ByteDance + JD +360+ Netease interview question sorting
企业精益管理体系介绍
算法面试经典100题,Android程序员最新职业规划
Analysis of rainwater connection
The "white paper on the panorama of the digital economy" has been released with great emphasis on the digitalization of insurance
腾讯Android面试必问,10年Android开发经验
MySQL information schema learning (I) -- general table
范式的数据库具体解释