PHPExcel Machen Sie die erste Zeile fett


75

Ich versuche, Zellen in der ersten Reihe fett zu machen.

Dies ist die Methode, die ich zu diesem Zweck erstellt habe.

function ExportToExcel($tittles,$excel_name)
 {
  $objPHPExcel = new PHPExcel();
  $objRichText = new PHPExcel_RichText();
  // Set properties
  $objPHPExcel->getProperties()->setCreator("SAMPLE1");
  $objPHPExcel->getProperties()->setLastModifiedBy("SAMPLE1");
  $objPHPExcel->getProperties()->setTitle("SAMPLE1");
  $objPHPExcel->getProperties()->setSubject("SAMPLE1");
  $objPHPExcel->getProperties()->setDescription("SAMPLE1");


  // Add some data
  $objPHPExcel->setActiveSheetIndex(0);

  $letters = range('A','Z');
  $count =0;
  $cell_name="";
  foreach($tittles as $tittle)
  {
   $cell_name = $letters[$count]."1";
   $count++;
   $value = $tittle;
   $objPHPExcel->getActiveSheet()->SetCellValue($cell_name, $value);
   // Make bold cells
   $objPHPExcel->getActiveSheet()->getStyle($cell_name)->getFont()->setBold(true);
  }
  // Save Excel 2007 file
  $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
  //$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
  $objWriter->save($excel_name.".xlsx");
 }

Das Problem ist, dass in der Ausgabe-Excel-Datei die Zellen nicht fett gedruckt sind.


1
macht es alle Zeilen fett oder nicht?
Bhavik Shah

Haben Sie versucht, $ cell_name wiederzugeben? Gibt es den richtigen Zellennamen?
Bhavik Shah

@ BhavikShah Zellennamen sind korrekt.
Rakesh

Alter, versuche die Schriftgröße zu erhöhen. Versuch es einmal. Nicht sicher.
Bhavik Shah

1
Überprüfen Sie dies . Dies könnte Ihnen helfen.
Bhavik Shah

Antworten:


123

Versuchen Sie dies für eine Reihe von Zellen:

$from = "A1"; // or any value
$to = "B5"; // or any value
$objPHPExcel->getActiveSheet()->getStyle("$from:$to")->getFont()->setBold( true );

oder einzelne Zelle

$cell_name = "A1";
$objPHPExcel->getActiveSheet()->getStyle( $cell_name )->getFont()->setBold( true );

hoffentlich hilft das


4
Nein, nur A1 oder A1: B1 für die 2 Zellen
Steven Scott

49

Versuche dies

$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);

29
$objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);

Auf diese Weise erhalten Sie die komplette erste Reihe


Wie setze ich meine dritte Reihe fett?
Divyesh Jesadiya

1
Arbeitete für mich - 2: 2 setze die ganze zweite Reihe als fett. Auch getStyle (2) hat bei mir funktioniert.
Fett

19

Angenommen, die Überschriften befinden sich in der ersten Zeile des Blattes, beginnend bei A1, und Sie wissen, wie viele davon es gibt, dann war dies meine Lösung:

$header = array(
    'Header 1',
    'Header 2'
);

$objPHPExcel = new PHPExcel();
$objPHPExcelSheet = $objPHPExcel->getSheet(0);
$objPHPExcelSheet->fromArray($header, NULL);
$first_letter = PHPExcel_Cell::stringFromColumnIndex(0);
$last_letter = PHPExcel_Cell::stringFromColumnIndex(count($header)-1);
$header_range = "{$first_letter}1:{$last_letter}1";
$objPHPExcelSheet->getStyle($header_range)->getFont()->setBold(true);

13

Benutze das:

$sheet->getStyle('A1:'.$sheet->getHighestColumn().'1')->getFont()->setBold(true);

10

Dies sind einige Tipps , um Ihre Zellen zu machen Bold, Big font,Italic

Angenommen, ich habe Spalten von AbisL

A1 - ist deine Startzelle

L1 - ist deine letzte Zelle

$objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setSize(16);
$objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setItalic(true);

7
$objPHPExcel->getActiveSheet()->getStyle("A1:".$objPHPExcel->getActiveSheet()->getHighestDataColumn()."1")->getFont()->setBold(true);

Ich fand, dass dies eine funktionierende Lösung ist. Sie können die beiden Instanzen von 1durch die Zeilennummer ersetzen . Die HighestDataColumnFunktion gibt beispielsweise C oder Z zurück und gibt Ihnen die letzte / höchste Spalte im Blatt, die Daten enthält. Es gibt auch getHighestColumn(), dass man Zellen einschließen würde, die leer sind, aber ein Styling haben oder Teil anderer Funktionen sind.


2

Dies durchläuft eine variable Anzahl von Spalten einer bestimmten Zeile, in diesem Fall der ersten Zeile:

$rownumber = 1;
$row = $this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber)->current();

$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);

foreach ($cellIterator as $cell) {
    $cell->getStyle()->getFont()->setBold(true);
}

1

Versuche dies

    $ objPHPExcel = new PHPExcel ();
    $ objPHPExcel-> getProperties () -> setCreator ("Maarten Balliauw")
                                 -> setLastModifiedBy ("Maarten Balliauw")
                                 -> setTitle ("Office 2007 XLSX-Testdokument")
                                 -> setSubject ("Office 2007 XLSX-Testdokument")
                                 -> setDescription ("Testdokument für Office 2007 XLSX, generiert mit PHP-Klassen.")
                                 -> setKeywords ("office 2007 openxml php")
                                 -> setCategory ("Testergebnisdatei");
    $ objPHPExcel-> setActiveSheetIndex (0);
    $ sheet = $ objPHPExcel-> getActiveSheet ();
    $ sheet-> setCellValue ('A1', 'No');
    $ sheet-> setCellValue ('B1', 'Job ID');
    $ sheet-> setCellValue ('C1', 'Auftragsabschlussdatum');
    $ sheet-> setCellValue ('D1', 'Job Archived Date');
    $ styleArray = array (
        'font' => array (
        'fett' => wahr
        )
    );
    $ sheet-> getStyle ('A1') -> applyFromArray ($ styleArray);
    $ sheet-> getStyle ('B1') -> applyFromArray ($ styleArray);
    $ sheet-> getStyle ('C1') -> applyFromArray ($ styleArray);
    $ sheet-> getStyle ('D1') -> applyFromArray ($ styleArray);
    $ sheet-> getPageSetup () -> setRowsToRepeatAtTopByStartAndEnd (1, 1);
    

Dies ist eine Ausgabe wie unten angegeben ( https://www.screencast.com/t/ZkKFHbDq1le )


-1

Du kannst es versuchen

$objPHPExcel->getActiveSheet()->getStyle(1)->getFont()->setBold(true);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.