if (empty($data)) {
return;
}
+ foreach($cfg['cols'] as $c => $col_cfg) {
+ if (isset($col_cfg['renderer'])) {
+ $hasRender = true;
+ break;
+ }
+ }
- foreach($data as $r=>$clo) {
- $hasRenderRow = $this->addLine($cfg['workbook'], $clo);
- $hasRender = ($hasRender || $hasRenderRow) ? true : false;
-
- }
- /// call user render on any that are defined..
- if ($hasRender) {
- foreach($data as $r=>$cl) {
+
+ if (is_object($data)) {
+ $data_ar = array();
+ $count = $data->count();
+ $data->find();
- foreach($cfg['cols'] as $c=>$col_cfg) {
- $v = isset($cl[$col_cfg['dataIndex']]) ? $cl[$col_cfg['dataIndex']] : '';
- if (empty($cl[$col_cfg['dataIndex']])) {
- continue;
- }
- if (!empty($col_cfg['renderer'])) {
-
- if (is_a($col_cfg['renderer'], 'Closure')) {
- $col_cfg['renderer'](new StdClass, $cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $cl);
- } else {
- // not sure if row is correct here...!!!?
- call_user_func($col_cfg['renderer'], $cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $cl);
+ while($data->fetch()) {
+ $hasRenderRow = $this->addLine($cfg['workbook'], $data);
+ $hasRender = ($hasRender || $hasRenderRow) ? true : false;
+ }
+ $start_row += $count;
+ } else {
+
+ foreach($data as $r=>$clo) {
+ $hasRenderRow = $this->addLine($cfg['workbook'], $clo);
+ $hasRender = ($hasRender || $hasRenderRow) ? true : false;
+
+ }
+ /// call user render on any that are defined..
+ if ($hasRender) {
+ foreach($data as $r=>$cl) {
+
+ foreach($cfg['cols'] as $c=>$col_cfg) {
+ $v = isset($cl[$col_cfg['dataIndex']]) ? $cl[$col_cfg['dataIndex']] : '';
+ if (empty($cl[$col_cfg['dataIndex']])) {
+ continue;
}
-
+ if (!empty($col_cfg['renderer'])) {
+
+ if (is_a($col_cfg['renderer'], 'Closure')) {
+ $col_cfg['renderer']($cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $cl);
+ } else {
+ // not sure if row is correct here...!!!?
+ call_user_func($col_cfg['renderer'], $cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $cl);
+ }
+
+ }
+ // echo "<PRE>WRITE: ". htmlspecialchars(print_r(array($r+1, $c, $cl[$col_cfg['dataIndex']]), true));
+
}
- // echo "<PRE>WRITE: ". htmlspecialchars(print_r(array($r+1, $c, $cl[$col_cfg['dataIndex']]), true));
-
}
}
+ $start_row += count($data);
+
}
- $start_row += count($data);
if (!empty($cfg['foot'])) {
foreach($cfg['foot'] as $row) {
if (isset($col_cfg['txtrenderer'])) {
if (is_a($col_cfg['txtrenderer'], 'Closure')) {
- var_dump($col_cfg['txtrenderer']);
- $v = $col_cfg['txtrenderer'](new StdClass, $cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $clo);
+
+ $v = $col_cfg['txtrenderer']($cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $clo);
} else {
$v = call_user_func($col_cfg['txtrenderer'],
$cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $clo);