【问题标题】:How set first row in phpexcel如何在phpexcel中设置第一行
【发布时间】:2017-05-26 12:11:46
【问题描述】:

如何在 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;
   }

谢谢

【问题讨论】:

  • 你试过设置->setCellValue('A4', 'Your Data')等吗?
  • 是但没有运气..!

标签: php excel drupal phpexcel


【解决方案1】:

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

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

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

看到这个:PHPExcel toArray skip first header row

【讨论】:

  • 谢谢,但我想这不是我想要的只是检查我上面的完整代码我真的很感谢你帮助我..:)
【解决方案2】:

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

你需要定义一个变量

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

现在您可以在 setCellValue("A{$row}", 'Your_Value'); 它将在 Excel 表的 A2 字段中设置 Your_Value

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

【讨论】:

  • 我已经更新了我的完整代码,也许你可以帮助我设置我的第一行..谢谢
  • 将此行写为:- $objPHPExcel->getActiveSheet()->setCellValue('F{$row}', '=E2');
  • 我得到了这个错误..'PHPExcel_Exception:单元格坐标不能是绝对的。在 PHPExcel_Worksheet->getCell()' 当我使用你的代码时
猜你喜欢
  • 1970-01-01
  • 2012-10-15
  • 2015-06-09
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 2015-06-25
  • 1970-01-01
  • 2012-06-11
相关资源
最近更新 更多