Box / Spout未写满行

时间:2019-07-31 00:05:08

标签: php arrays excel spout

我正在尝试使用Box / Spout通过写程序将数据写入excel工作表,我将数组传递给((IntArray)o).myArray.length; IntArray a = (IntArray)o; a.myArray.length; 函数,但是当excel文件完成时,它会丢失工作表...

该数组恰好具有我需要的数据,我addrow()将其显示出来。数据最初来自mysql查询,因此我认为直接从var_dump()函数添加行是可行的。遇到此问题后,我创建了一个名为mysqli_fetch_assoc的变量行,并将其声明为包含mysql fetch data的数组。这仍然没有用。下面的代码解释了我的困惑...

这是我要添加的行的var_dump:

$newRow

出于隐私原因,我需要用X和Y替换真实数据。请理解,我用这些字母替换了真实的数据。我将包括我使用的mysql查询,但这是不必要的,因为它显然可以成功提取信息...

下一行是:

var_dump($newRow);
array(29) { 
[0]=> string(14) "X" 
[1]=> string(6) "X" 
[2]=> string(4) "X" 
[3]=> string(9) "X" 
[4]=> string(2) "X" 
[5]=> string(1) "X" 
[6]=> string(1) "X" 
[7]=> string(8) "X" 
[8]=> string(0) "" 
[9]=> string(8) "X" 
[10]=> string(16) "X" 
[11]=> string(16) "X" 
[12]=> string(0) "X" 
[14]=> string(7) "X" 
[15]=> string(2) "X" 
[16]=> string(2) "X" 
[17]=> string(1) "X" 
[18]=> string(2) "X" 
[19]=> string(2) "X" 
[20]=> string(2) "X" 
[21]=> string(15) "X" 
[22]=> string(9) "X" 
[23]=> string(2) "X" 
[24]=> string(5) "X" 
[25]=> string(16) "Y" 
[26]=> string(9) "Y" 
[27]=> string(2) "Y" 
[28]=> string(5) "Y" 
}

请记住,代码看起来完全像这样:

$writer->addrow($newRow);

var_dump($newRow); echo "<br/><br/>"; $writer->addrow($newRow); 函数之前,$newRow没有变化。

不幸的是,excel工作表另存为

$writer->addrow

单行与应为:

|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|X|

我已经为此困扰了几个小时,还没有找到解决方案。希望我的问题有意义,并希望您提出任何建议。

1 个答案:

答案 0 :(得分:1)

尝试一下

$writer->addRow(WriterEntityFactory::createRowFromArray($newRow));
相关问题