PHPExcel - colspan 主题名称
PHPExcel - colspan the subject name
Table 姓名:主题
我的预期输出
我的代码
<?php
//dbconnection
$q = "SELECT name FROM subject";
$r = mysqli_query($dbc, $q);
while($row = mysqli_fetch_array($r, MYSQLI_ASSOC))
{
$name[] = $row['name'];
}
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$headers = array('School Name');
$objPHPExcel->getActiveSheet()->fromArray($headers, null, 'A1');
$objPHPExcel->getActiveSheet()->fromArray($name, null, 'B1');
$objPHPExcel->getActiveSheet()->mergeCells('B1:C1');
$objPHPExcel->getActiveSheet()->mergeCells('D1:E1');
$objPHPExcel->getActiveSheet()->mergeCells('F1:G1');
$objPHPExcel->getActiveSheet()->mergeCells('H1:I1');
?>
我想为每个主题设置 colspan = 2。我不想写 4 行单独的代码。我尝试使用 for 循环如下:
$objWorksheet = $objPHPExcel->getActiveSheet();
$row = 1;
$highestColumn = $objWorksheet -> getHighestColumn();
$highestColumn++;
for($column = 'A'; $column != $highestColumn; $column++)
{
if($column <= 'C')
{
//[HERE]
}
}
我写完for循环后卡住了。我不知道如何控制列名和设置 colspan。有人可以帮助我吗?
在主题列表上循环执行此操作可能容易得多:
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'School Name');
$objPHPExcel->getActiveSheet()->mergeCells('A1:A2');
$column = 'B';
while($row = mysqli_fetch_array($r, MYSQLI_ASSOC))
{
$objPHPExcel->getActiveSheet()->setCellValue($column.'1', $row['name']);
$mergeRange = $column.'1:';
$objPHPExcel->getActiveSheet()->setCellValue($column.'2', 'Student Name');
$column++;
$mergeRange .= $column.'1';
$objPHPExcel->getActiveSheet()->setCellValue($column.'2', 'Grade');
$objPHPExcel->getActiveSheet()->mergeCells($mergeRange);
$column++;
}
Table 姓名:主题
我的预期输出
我的代码
<?php //dbconnection $q = "SELECT name FROM subject"; $r = mysqli_query($dbc, $q); while($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { $name[] = $row['name']; } $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0); $headers = array('School Name'); $objPHPExcel->getActiveSheet()->fromArray($headers, null, 'A1'); $objPHPExcel->getActiveSheet()->fromArray($name, null, 'B1'); $objPHPExcel->getActiveSheet()->mergeCells('B1:C1'); $objPHPExcel->getActiveSheet()->mergeCells('D1:E1'); $objPHPExcel->getActiveSheet()->mergeCells('F1:G1'); $objPHPExcel->getActiveSheet()->mergeCells('H1:I1'); ?>
我想为每个主题设置 colspan = 2。我不想写 4 行单独的代码。我尝试使用 for 循环如下:
$objWorksheet = $objPHPExcel->getActiveSheet(); $row = 1; $highestColumn = $objWorksheet -> getHighestColumn(); $highestColumn++; for($column = 'A'; $column != $highestColumn; $column++) { if($column <= 'C') { //[HERE] } }
我写完for循环后卡住了。我不知道如何控制列名和设置 colspan。有人可以帮助我吗?
在主题列表上循环执行此操作可能容易得多:
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'School Name');
$objPHPExcel->getActiveSheet()->mergeCells('A1:A2');
$column = 'B';
while($row = mysqli_fetch_array($r, MYSQLI_ASSOC))
{
$objPHPExcel->getActiveSheet()->setCellValue($column.'1', $row['name']);
$mergeRange = $column.'1:';
$objPHPExcel->getActiveSheet()->setCellValue($column.'2', 'Student Name');
$column++;
$mergeRange .= $column.'1';
$objPHPExcel->getActiveSheet()->setCellValue($column.'2', 'Grade');
$objPHPExcel->getActiveSheet()->mergeCells($mergeRange);
$column++;
}