来自oci_fetch_array的PHPexcel大数据错误的打印

下午好!

请,我需要帮助我的代码。 我有一个查询读取大量的数据,并与oci_fetch_array打印,但我需要导出到Excel电子表格中。

我使用PHPexcel 01simple-download-xls的代码填充数据:

$result = oci_parse($connect, $query); oci_execute($result); while (($row = oci_fetch_array($result, OCI_BOTH)) != false){ $columna = 0; foreach ($row as $key => $valor) { $objPHPExcel->getActiveSheet()->setCellValue('A' . $columna, $valor); $columna++; } } oci_free_statement($result); oci_close($connect); 

但电子表格只显示我的BD的第一个数据,我需要所有的。

在这里输入图像说明

数据是这样的:
在这里输入图像说明

如何在列中打印数据行?

谢谢!

MS Excel单元格地址包含列ID和行ID。 列ID是字母( ABC等); 行ID是数字( 1等):所以像B3这样的单元格地址是B列和第3行。 (正如你可以看到你的照片)

你正在使用一个variables$columna ,连接它与A来定义一个像A1一样的单元格地址,并为每个元素递增,所以你的单元格地址是A1, A2 , A3等….总是列A 所以你所有的数据都会在第一列。 (你也从第0行开始,这不存在。

修改你的代码,使用行和列,给自己一个单元格地址:

 $rowNumber = 1; while (($row = oci_fetch_array($result, OCI_BOTH)) != false){ $columna = 'A'; foreach ($row as $key => $valor) { $objPHPExcel->getActiveSheet()->setCellValue($columna . $rowNumber, $valor); $columna++; } $rowNumber++; } 

从第1行开始,而不是第0行。每个$行之后重置列

有更简单的方法来做到这一点,但除非你能掌握单元格地址的概念,否则在使用Excel文件时会遇到困难

Interesting Posts