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.
Antworten:
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
quelle
Versuche dies
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);
quelle
$objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);
Auf diese Weise erhalten Sie die komplette erste Reihe
quelle
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);
quelle
Benutze das:
$sheet->getStyle('A1:'.$sheet->getHighestColumn().'1')->getFont()->setBold(true);
quelle
Dies sind einige Tipps , um Ihre Zellen zu machen
Bold
,Big font
,Italic
Angenommen, ich habe Spalten von
A
bisL
A1
- ist deine StartzelleL1
- 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);
quelle
$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
1
durch die Zeilennummer ersetzen . DieHighestDataColumn
Funktion gibt beispielsweise C oder Z zurück und gibt Ihnen die letzte / höchste Spalte im Blatt, die Daten enthält. Es gibt auchgetHighestColumn()
, dass man Zellen einschließen würde, die leer sind, aber ein Styling haben oder Teil anderer Funktionen sind.quelle
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); }
quelle
Versuche dies
Dies ist eine Ausgabe wie unten angegeben ( https://www.screencast.com/t/ZkKFHbDq1le )
quelle
Du kannst es versuchen
$objPHPExcel->getActiveSheet()->getStyle(1)->getFont()->setBold(true);
quelle