当文本为空时,PHPExcel数据在单元格中发送FALSE?

我使用PHPExcel创build一个文档,当有数据input到我的文本文档中时,一切正常。 这是我用来提供数据来创buildExcel文档。 现在的问题是,如果文本文档中没有任何数据,它会在单元格中使用FALSE创build它。 任何人都知道这是为什么?

<?php //Excel Transfer $myFile=fopen("DATA/Spo.txt","r") or exit("Can't open file!"); $Spo = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Cont.txt","r") or exit("Can't open file!"); $Cont = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Site.txt","r") or exit("Can't open file!"); $Site = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Job.txt","r") or exit("Can't open file!"); $Job = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/ObBrief.txt","r") or exit("Can't open file!"); $ObBrief = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/ObAgreed.txt","r") or exit("Can't open file!"); $ObAgreed = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/ObDate.txt","r") or exit("Can't open file!"); $ObDate = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/GoBrief.txt","r") or exit("Can't open file!"); $GoBrief = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/GoAgreed.txt","r") or exit("Can't open file!"); $GoAgreed = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/GoDate.txt","r") or exit("Can't open file!"); $GoDate = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/FeBrief.txt","r") or exit("Can't open file!"); $FeBrief = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/FeAgreed.txt","r") or exit("Can't open file!"); $FeAgreed = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/FeDate.txt","r") or exit("Can't open file!"); $FeDate = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q1.txt","r") or exit("Can't open file!"); $Q1 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q2.txt","r") or exit("Can't open file!"); $Q2 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q3.txt","r") or exit("Can't open file!"); $Q3 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q4.txt","r") or exit("Can't open file!"); $Q4 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q5.txt","r") or exit("Can't open file!"); $Q5 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q6.txt","r") or exit("Can't open file!"); $Q6 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q7.txt","r") or exit("Can't open file!"); $Q7 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q8.txt","r") or exit("Can't open file!"); $Q8 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q9.txt","r") or exit("Can't open file!"); $Q9 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Q10.txt","r") or exit("Can't open file!"); $Q10 = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Add.txt","r") or exit("Can't open file!"); $Add = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Name.txt","r") or exit("Can't open file!"); $Name = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Title.txt","r") or exit("Can't open file!"); $Title = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Date.txt","r") or exit("Can't open file!"); $Date = fgets($myFile); fclose($myFile); Include_once 'PHP/PHPExcel.php'; $objPHPExcel = new PHPExcel(); $activeSheet = $objPHPExcel->getActiveSheet(); $objPHPExcel->getActiveSheet()->setTitle('Senior Managers Site Tour'); $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5); $styleArray = array( 'borders' => array( 'allborders' => array( 'style' => PHPExcel_Style_Border::BORDER_THIN ) ) ); //Set Up $activeSheet->setCellValue('E1','Senior Managers Site Tour'); $objPHPExcel->getActiveSheet()->getStyle('A1:N70')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->mergeCells('A1:A70'); $objPHPExcel->getActiveSheet()->mergeCells('N1:N70'); $objPHPExcel->getActiveSheet()->getStyle('B6:M68')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP); //Logo & Title $objPHPExcel->getActiveSheet()->mergeCells('B1:D4'); $objPHPExcel->getActiveSheet()->mergeCells('E1:M4'); $objPHPExcel->getActiveSheet()->mergeCells('B5:M5'); $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setName('Murphys Logo'); $objDrawing->setPath('IMAGES/LogoExcel.png'); $objDrawing->setCoordinates('B1'); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); $titleArray = array( 'font' => array( 'bold' => true, 'size' => 32, )); $styleTitleAlign = array( 'alignment' => array( 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, ) ); $objPHPExcel->getActiveSheet()->getStyle('E1')->applyFromArray($titleArray); $objPHPExcel->getActiveSheet()->getStyle('E1')->applyFromArray($styleTitleAlign); //Basic Information $objPHPExcel->getActiveSheet()->mergeCells('B6:D6'); $objPHPExcel->getActiveSheet()->mergeCells('E6:G6'); $objPHPExcel->getActiveSheet()->mergeCells('H6:J6'); $objPHPExcel->getActiveSheet()->mergeCells('K6:M6'); $objPHPExcel->getActiveSheet()->mergeCells('B7:D7'); $objPHPExcel->getActiveSheet()->mergeCells('E7:M7'); $objPHPExcel->getActiveSheet()->mergeCells('B8:D8'); $objPHPExcel->getActiveSheet()->mergeCells('E8:M8'); $objPHPExcel->getActiveSheet()->mergeCells('B9:M10'); $activeSheet->setCellValue('B6','Site / Project / Object:'); $activeSheet->setCellValue('E6',$Spo); $activeSheet->setCellValue('H6','Contract Number:'); $activeSheet->setCellValue('K6',$Cont); $activeSheet->setCellValue('B7','Site Manager:'); $activeSheet->setCellValue('E7',$Site); $activeSheet->setCellValue('B8','Job / Task Description:'); $activeSheet->setCellValue('E8',$Job); //Observation $objPHPExcel->getActiveSheet()->mergeCells('B11:M11'); $objPHPExcel->getActiveSheet()->mergeCells('B12:E12'); $objPHPExcel->getActiveSheet()->mergeCells('F12:I12'); $objPHPExcel->getActiveSheet()->mergeCells('J12:M12'); $objPHPExcel->getActiveSheet()->mergeCells('B13:E17'); $objPHPExcel->getActiveSheet()->mergeCells('F13:I17'); $objPHPExcel->getActiveSheet()->mergeCells('J13:M17'); $objPHPExcel->getActiveSheet()->mergeCells('B18:M19'); $activeSheet->setCellValue('B11','OBSERVATION (areas where improvement can be made).'); $activeSheet->setCellValue('B12','Brief Description:'); $activeSheet->setCellValue('B13',$ObBrief); $activeSheet->setCellValue('F12','Agreed Action:'); $activeSheet->setCellValue('F13',$ObAgreed); $activeSheet->setCellValue('J12','Close Date:'); $activeSheet->setCellValue('J13',$ObDate); $objPHPExcel->getActiveSheet()->getStyle('B11')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('D6D6D6'); //Good Practices $objPHPExcel->getActiveSheet()->mergeCells('B20:M20'); $objPHPExcel->getActiveSheet()->mergeCells('B21:E21'); $objPHPExcel->getActiveSheet()->mergeCells('F21:I21'); $objPHPExcel->getActiveSheet()->mergeCells('J21:M21'); $objPHPExcel->getActiveSheet()->mergeCells('B22:E26'); $objPHPExcel->getActiveSheet()->mergeCells('F22:I26'); $objPHPExcel->getActiveSheet()->mergeCells('J22:M26'); $objPHPExcel->getActiveSheet()->mergeCells('B27:M28'); $activeSheet->setCellValue('B20','GOOD PRACTICES (Commendable acts and actions, Improvements, Innovations etc).'); $activeSheet->setCellValue('B21','Brief Description:'); $activeSheet->setCellValue('B22',$GoBrief); $activeSheet->setCellValue('F21','Agreed Action:'); $activeSheet->setCellValue('F22',$GoAgreed); $activeSheet->setCellValue('J21','Close Date:'); $activeSheet->setCellValue('J22',$GoDate); $objPHPExcel->getActiveSheet()->getStyle('B20')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('D6D6D6'); //Feedback Given & Received $objPHPExcel->getActiveSheet()->mergeCells('B29:M29'); $objPHPExcel->getActiveSheet()->mergeCells('B30:E30'); $objPHPExcel->getActiveSheet()->mergeCells('F30:I30'); $objPHPExcel->getActiveSheet()->mergeCells('J30:M30'); $objPHPExcel->getActiveSheet()->mergeCells('B31:E35'); $objPHPExcel->getActiveSheet()->mergeCells('F31:I35'); $objPHPExcel->getActiveSheet()->mergeCells('J31:M35'); $objPHPExcel->getActiveSheet()->mergeCells('B36:M37'); $activeSheet->setCellValue('B29','FEEDBACK GIVEN & RECEIVED'); $activeSheet->setCellValue('B30','Brief Description:'); $activeSheet->setCellValue('B31',$FeBrief); $activeSheet->setCellValue('F30','Agreed Action:'); $activeSheet->setCellValue('F31',$FeAgreed); $activeSheet->setCellValue('J30','Close Date:'); $activeSheet->setCellValue('J31',$FeDate); $objPHPExcel->getActiveSheet()->getStyle('B29')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('D6D6D6'); //General Impression $objPHPExcel->getActiveSheet()->mergeCells('B38:M38'); $objPHPExcel->getActiveSheet()->mergeCells('B39:G39'); $objPHPExcel->getActiveSheet()->mergeCells('H39:M39'); $objPHPExcel->getActiveSheet()->mergeCells('B40:G40'); $objPHPExcel->getActiveSheet()->mergeCells('H40:M40'); $objPHPExcel->getActiveSheet()->mergeCells('B41:M41'); $objPHPExcel->getActiveSheet()->mergeCells('B42:K42'); $objPHPExcel->getActiveSheet()->mergeCells('L42:M42'); $objPHPExcel->getActiveSheet()->mergeCells('B43:K43'); $objPHPExcel->getActiveSheet()->mergeCells('L43:M43'); $objPHPExcel->getActiveSheet()->mergeCells('B44:K44'); $objPHPExcel->getActiveSheet()->mergeCells('L44:M44'); $objPHPExcel->getActiveSheet()->mergeCells('B45:K45'); $objPHPExcel->getActiveSheet()->mergeCells('L45:M45'); $objPHPExcel->getActiveSheet()->mergeCells('B46:K46'); $objPHPExcel->getActiveSheet()->mergeCells('L46:M46'); $objPHPExcel->getActiveSheet()->mergeCells('B47:M47'); $objPHPExcel->getActiveSheet()->mergeCells('B48:K48'); $objPHPExcel->getActiveSheet()->mergeCells('L48:M48'); $objPHPExcel->getActiveSheet()->mergeCells('B49:K49'); $objPHPExcel->getActiveSheet()->mergeCells('L49:M49'); $objPHPExcel->getActiveSheet()->mergeCells('B50:K50'); $objPHPExcel->getActiveSheet()->mergeCells('L50:M50'); $objPHPExcel->getActiveSheet()->mergeCells('B51:K51'); $objPHPExcel->getActiveSheet()->mergeCells('L51:M51'); $objPHPExcel->getActiveSheet()->mergeCells('B52:K52'); $objPHPExcel->getActiveSheet()->mergeCells('L52:M52'); $objPHPExcel->getActiveSheet()->mergeCells('B53:M54'); $activeSheet->setCellValue('B38','GENERAL IMPRESSION'); $activeSheet->setCellValue('B39','1 = No evidence / poor / no understanding'); $activeSheet->setCellValue('H39','2 = Some evidence / understanding / not consistent'); $activeSheet->setCellValue('B40','3 = Requirements in place / basic unerstanding'); $activeSheet->setCellValue('H40','4 = Detailed understanding / more than minimum standards'); $objPHPExcel->getActiveSheet()->getStyle('B38')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('D6D6D6'); $activeSheet->setCellValue('B41','CULTURE'); $activeSheet->setCellValue('B42','Is the CDP obvious - You Said / We Did Boards; Feedback Stations; Posters?:'); $activeSheet->setCellValue('L42',$Q1); $activeSheet->setCellValue('B43','Are there any Speak Up Coaches on this site?'); $activeSheet->setCellValue('L43',$Q2); $activeSheet->setCellValue('B44','Are Focus Leader meetings happening?:'); $activeSheet->setCellValue('L44',$Q3); $activeSheet->setCellValue('B45','Mention the Mental Tools, do people understand them?:'); $activeSheet->setCellValue('L45',$Q4); $activeSheet->setCellValue('B46','Ask what "Never Harm" means to the teams:'); $activeSheet->setCellValue('L46',$Q5); $objPHPExcel->getActiveSheet()->getStyle('B41')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('D6D6D6'); $activeSheet->setCellValue('B47','SYSTEM'); $activeSheet->setCellValue('B48','Are first impressions good, site signage, induction etc?:'); $activeSheet->setCellValue('L48',$Q6); $activeSheet->setCellValue('B49','Is the site tidy, well laid out etc?:'); $activeSheet->setCellValue('L49',$Q7); $activeSheet->setCellValue('B50','Are morning briefings / daily risk assessment carried out?:'); $activeSheet->setCellValue('L50',$Q8); $activeSheet->setCellValue('B51','Have all the team been briefed & signed onto the RAMS?:'); $activeSheet->setCellValue('L51',$Q9); $activeSheet->setCellValue('B52','Ask what they would do if there was a change in the work activity ie not in RAMS?:'); $activeSheet->setCellValue('L52',$Q10); $objPHPExcel->getActiveSheet()->getStyle('B47')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('D6D6D6'); //Comments $objPHPExcel->getActiveSheet()->mergeCells('B55:M55'); $objPHPExcel->getActiveSheet()->mergeCells('B56:M63'); $objPHPExcel->getActiveSheet()->mergeCells('B64:M65'); $activeSheet->setCellValue('B55','Additional Comments:'); $activeSheet->setCellValue('B56',$Add); $objPHPExcel->getActiveSheet()->getStyle('B55')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('D6D6D6'); //Completed By $objPHPExcel->getActiveSheet()->mergeCells('B66:M66'); $objPHPExcel->getActiveSheet()->mergeCells('B67:C67'); $objPHPExcel->getActiveSheet()->mergeCells('D67:G67'); $objPHPExcel->getActiveSheet()->mergeCells('H67:I67'); $objPHPExcel->getActiveSheet()->mergeCells('J67:M67'); $objPHPExcel->getActiveSheet()->mergeCells('B68:C68'); $objPHPExcel->getActiveSheet()->mergeCells('D68:G68'); $objPHPExcel->getActiveSheet()->mergeCells('H68:M68'); $objPHPExcel->getActiveSheet()->mergeCells('B69:M70'); $activeSheet->setCellValue('B66','COMPLETED BY'); $activeSheet->setCellValue('B67','Name:'); $activeSheet->setCellValue('D67',$Name); $activeSheet->setCellValue('H67','Title:'); $activeSheet->setCellValue('J67',$Title); $activeSheet->setCellValue('B68','Date:'); $activeSheet->setCellValue('BD68',$Date); $objPHPExcel->getActiveSheet()->getStyle('B66')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('D6D6D6'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('Senior Managers Site Tour.xls'); ?> 

编辑(小例子)

 <?php //Excel Transfer $myFile=fopen("DATA/Spo.txt","r") or exit("Can't open file!"); $Spo = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Cont.txt","r") or exit("Can't open file!"); $Cont = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Site.txt","r") or exit("Can't open file!"); $Site = fgets($myFile); fclose($myFile); $myFile=fopen("DATA/Job.txt","r") or exit("Can't open file!"); $Job = fgets($myFile); fclose($myFile); Include_once 'PHP/PHPExcel.php'; $objPHPExcel = new PHPExcel(); $activeSheet = $objPHPExcel->getActiveSheet(); $objPHPExcel->getActiveSheet()->setTitle('Senior Managers Site Tour'); $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5); $styleArray = array( 'borders' => array( 'allborders' => array( 'style' => PHPExcel_Style_Border::BORDER_THIN ) ) ); //Set Up $activeSheet->setCellValue('E1','Senior Managers Site Tour'); $objPHPExcel->getActiveSheet()->getStyle('A1:N70')->applyFromArray($styleArray); $objPHPExcel->getActiveSheet()->mergeCells('A1:A70'); $objPHPExcel->getActiveSheet()->mergeCells('N1:N70'); $objPHPExcel->getActiveSheet()->getStyle('B6:M68')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP); //Basic Information $objPHPExcel->getActiveSheet()->mergeCells('B6:D6'); $objPHPExcel->getActiveSheet()->mergeCells('E6:G6'); $objPHPExcel->getActiveSheet()->mergeCells('H6:J6'); $objPHPExcel->getActiveSheet()->mergeCells('K6:M6'); $objPHPExcel->getActiveSheet()->mergeCells('B7:D7'); $objPHPExcel->getActiveSheet()->mergeCells('E7:M7'); $objPHPExcel->getActiveSheet()->mergeCells('B8:D8'); $objPHPExcel->getActiveSheet()->mergeCells('E8:M8'); $objPHPExcel->getActiveSheet()->mergeCells('B9:M10'); $activeSheet->setCellValue('B6','Site / Project / Object:'); $activeSheet->setCellValue('E6', $Spo); $activeSheet->setCellValue('H6','Contract Number:'); $activeSheet->setCellValue('K6',$Cont); $activeSheet->setCellValue('B7','Site Manager:'); $activeSheet->setCellValue('E7',$Site); $activeSheet->setCellValue('B8','Job / Task Description:'); $activeSheet->setCellValue('E8',$Job); $objPHPExcel->getActiveSheet()->getStyle('B66')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setRGB('D6D6D6'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('Senior Managers Site Tour.xls'); ?> 

从fgets文档 :

返回长度最长的string – 从句柄指向的文件中读取1个字节。 如果在文件指针中没有更多的数据要读取,则返回FALSE。

如果文件是空的,函数返回false 。 在代码中包含一个validation,以便在函数返回false时分配一个空string,如下所示:

 $myFile=fopen("DATA/Spo.txt","r") or exit("Can't open file!"); $Spo = fgets($myFile); if ($Spo === false) $Spo = ''; fclose($myFile); 

等等每个variables。