如何在phpexcel中设置第一行

时间:2017-05-26 12:11:46

标签: php excel drupal phpexcel

如何在phpexcel中设置第一行,当我使用phpexcel导出文件时,我真的很新,结果始终以A1行开头!怎么跳过它..? 我想开始在A4或其他任何行中插入我的数据。 这就是我的代码(更新完整代码)

 function theme_views_data_export_xlsx_body(&$vars) {
 _views_data_export_header_shared_preprocess($vars);
 _views_data_export_body_shared_preprocess($vars);
 $complete_array = array_merge(array($vars['header']), $vars['themed_rows']);
  // Decode HTML entities.
  foreach ($complete_array as &$row) {
  foreach ($row as &$value) {
  $value = decode_entities($value);
  }
}

 // Load PHPExcel library.
 $library = libraries_load('PHPExcel');

 // Create PHPExcel spreadsheet and add rows to it.


  $objPHPExcel = new PHPExcel();
  $objPHPExcel->setActiveSheetIndex(0);
  $objPHPExcel->getActiveSheet()->setCellValue('F1', '=E2');
  $objPHPExcel->getActiveSheet()->fromArray($complete_array);
  $objPHPExcel->getActiveSheet()->setTitle('Nilai Ukk');
  $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
  // $objPHPExcel->getActiveSheet()->getStyle('A2')->getAlignment()-
 >setWrapText(true);
   $excel_type = 'excel2007';
   switch ($excel_type) {
   default:
   case 'excel2007':
  $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
  break;
 }

 // Catch the output of the spreadsheet.
  ob_start();

  $objWriter->save('php://output');
  $excelOutput = ob_get_clean();
   return $excelOutput;
   }

感谢

2 个答案:

答案 0 :(得分:0)

根据Mark Ba​​ker的说法,您可以执行以下操作以跳过第一个标题行:

$highestRow = $sheet->getHighestRow(); 
$highestColumn = $sheet->getHighestColumn();

$sheetData = $sheet->rangeToArray(
    'A2:' . $highestColumn . $highestRow,
    NULL,TRUE,FALSE
);

请参阅:PHPExcel toArray skip first header row

答案 1 :(得分:0)

您只需要跳过第1行。不要将整行字段设置为NULL

您需要定义变量

$row = 2; // skip first row set direct value 2

现在您可以使用该变量了 setCellValue("A{$row}", 'Your_Value'); 它会在Excel工作表的Your_Value字段中设置A2

您可以增加变量$row++以将其他数据添加到下一行。