PHPExcel 첫 번째 행을 굵게 만들기
첫 번째 행의 셀을 굵게 만들려고합니다.
이것이 제가 그 목적으로 만든 방법입니다.
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");
}
문제는 출력 엑셀 파일에 셀이 굵게 표시되지 않습니다.
셀 범위에 대해 이것을 시도하십시오.
$from = "A1"; // or any value
$to = "B5"; // or any value
$objPHPExcel->getActiveSheet()->getStyle("$from:$to")->getFont()->setBold( true );
또는 단일 셀
$cell_name = "A1";
$objPHPExcel->getActiveSheet()->getStyle( $cell_name )->getFont()->setBold( true );
도움이되기를 바랍니다
이 시도
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true);
그러면 완전한 첫 번째 행을 얻을 수 있습니다.
헤더가 A1에서 시작하는 시트의 첫 번째 행에 있고 그 중 몇 개가 있는지 알고 있다고 가정하면 이것이 내 해결책이었습니다.
$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);
이들은 당신의 세포를 만들기 위해 몇 가지 도움말 Bold
, Big font
,Italic
A
~ 까지 열이 있다고 가정 해 보겠습니다.L
A1
-당신의 시작 세포입니다
L1
-당신의 마지막 셀입니다
$objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setSize(16);
$objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setItalic(true);
이것을 사용하십시오 :
$sheet->getStyle('A1:'.$sheet->getHighestColumn().'1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle("A1:".$objPHPExcel->getActiveSheet()->getHighestDataColumn()."1")->getFont()->setBold(true);
I found this to be a working solution, you can replace the two instances of 1
with the row number. The HighestDataColumn
function returns for example C or Z, it gives you the last/highest column that's in the sheet containing any data. There is also getHighestColumn()
, that one would include cells that are empty but have styling or are part of other functionality.
This iterates through a variable number of columns of a particular row, which in this case is the 1st row:
$rownumber = 1;
$row = $this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber)->current();
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
$cell->getStyle()->getFont()->setBold(true);
}
Try this
$objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Office 2007 XLSX Test Document") ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") ->setKeywords("office 2007 openxml php") ->setCategory("Test result file"); $objPHPExcel->setActiveSheetIndex(0); $sheet = $objPHPExcel->getActiveSheet(); $sheet->setCellValue('A1', 'No'); $sheet->setCellValue('B1', 'Job ID'); $sheet->setCellValue('C1', 'Job completed Date'); $sheet->setCellValue('D1', 'Job Archived Date'); $styleArray = array( 'font' => array( 'bold' => true ) ); $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);
This is give me output like below link.(https://www.screencast.com/t/ZkKFHbDq1le)
You can try
$objPHPExcel->getActiveSheet()->getStyle(1)->getFont()->setBold(true);
참고URL : https://stackoverflow.com/questions/14746332/phpexcel-make-first-row-bold
'programing tip' 카테고리의 다른 글
Git-파일을 추가하지 않습니까? (0) | 2020.11.16 |
---|---|
누구나 간단한 Java 웹 앱 프레임 워크를 추천 할 수 있습니까? (0) | 2020.11.16 |
Java에서 변수를 동기화하거나 잠그는 방법은 무엇입니까? (0) | 2020.11.16 |
Django Admin에서 삭제 링크를 비활성화하는 방법 (0) | 2020.11.16 |
LINQ to SQL 트랜잭션을 만드는 방법은 무엇입니까? (0) | 2020.11.15 |