首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP excel -数据循环?

PHP excel -数据循环?
EN

Stack Overflow用户
提问于 2011-04-05 07:15:35
回答 3查看 32.5K关注 0票数 18

我有一个数组的数据。

所以基本的格式是

代码语言:javascript
复制
$sheet = array(
  array(
    'a1 data',
    'b1 data',
    'c1 data',
    'd1 data',
  ),
  array(
    'a2 data',
    'b2 data',
    'c2 data',
    'd2 data',
  ),
  array(
    'a3 data',
    'b3 data',
    'c3 data',
    'd3 data',
  )
);

当我被传递给数组时,我不知道会有多少列或多少行。我想做的是使用php excel从数组中创建一个excel表格。

据我所知,设置数据的唯一方法是使用$objPHPExcel->getActiveSheet()->setCellValue('A1', $value);

所以我的问题是

如何遍历单元格?

记住,可能有30列,70行,这将是AD70,那么,你如何循环呢?

或者是否有一个内置的函数可以将数组转换为工作表?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-05 07:22:31

您可以像这样设置数组中的数据:

代码语言:javascript
复制
$objPHPExcel->getActiveSheet()->fromArray($sheet, null, 'A1');

fromArray使用二维数组。其中第一个参数是2D数组,第二个参数是在存在空值时要使用的值,最后一个参数是左上角应该在的位置。

否则,您将需要遍历数据:

代码语言:javascript
复制
$worksheet = $objPHPExcel->getActiveSheet();
foreach($sheet as $row => $columns) {
    foreach($columns as $column => $data) {
        $worksheet->setCellValueByColumnAndRow($column, $row + 1, $data);
    }
}
票数 29
EN

Stack Overflow用户

发布于 2011-04-05 07:21:02

代码语言:javascript
复制
$rowID = 1;
foreach($sheet as $rowArray) {
   $columnID = 'A';
   foreach($rowArray as $columnValue) {
      $objPHPExcel->getActiveSheet()->setCellValue($columnID.$rowID, $columnValue);
      $columnID++;
   }
   $rowID++;
}

代码语言:javascript
复制
$objPHPExcel->getActiveSheet()->fromArray($sheet);
票数 22
EN

Stack Overflow用户

发布于 2011-04-05 07:19:51

据我所知,在使用PHP excel填充工作表时,您不需要知道最终Excel工作表的高度和宽度。您可以使用嵌套的foreach循环读取所有嵌套数组,并使用适当的变量构建单元格引用并将其添加到工作表中。插件将处理大小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5545406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档