2016-04-08 3 views
0

PHPExcelを使用してドキュメントを作成していますが、テキストドキュメントにデータが入力されているとすべて正常に動作します。 Excelドキュメントを作成するためにデータを提供するために使用しているものはどれですか。問題は、テキスト文書にデータがない場合は、セルにFALSEでデータを作成することです。これはなぜ誰でも知っていますか?PHPExcelデータは、テキストが空の場合にセルにFALSEされますか?

<?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 i.e. 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'); 
?> 

EDIT(小型の例)fgets documentationから

<?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'); 

?> 
+1

これは大きなコードの壁です。エラーを示す小さな例に減らしてください。 –

答えて

1

長までの文字列を返します - ファイルから1バイト読み出しは、ハンドルによって指さ。ファイルポインタに読み込むデータがそれ以上存在しない場合は、FALSEが返されます。

ファイルが空の場合、関数はfalseを返します。関数がfalseを返すときに空の文字列を割り当てるには、次のようにコードに検証を含めます。

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

なども同様です。

+0

夢を込めて、ありがとう。 –

関連する問題