Php 盒子/喷口未写入整行
我试图使用Box/Spout将数据写入excel工作表,使用writer将数组传递给Php 盒子/喷口未写入整行,php,arrays,excel,spout,Php,Arrays,Excel,Spout,我试图使用Box/Spout将数据写入excel工作表,使用writer将数组传递给addrow()函数,但excel文件完成后,工作表上缺少数据列 数组正好有我需要的数据,我var\u dump()it显示数据。数据最初来自一个mysql查询,因此我认为直接从mysqli\u fetch\u assoc函数添加行是可行的。遇到这个问题后,我创建了一个名为$newRow的变量行,并将其声明为一个数组,其中包含mysql fetch数据。这仍然不起作用。下面的代码解释我的困惑 下面是我要添加的行的
addrow()
函数,但excel文件完成后,工作表上缺少数据列
数组正好有我需要的数据,我var\u dump()
it显示数据。数据最初来自一个mysql查询,因此我认为直接从mysqli\u fetch\u assoc
函数添加行是可行的。遇到这个问题后,我创建了一个名为$newRow
的变量行,并将其声明为一个数组,其中包含mysql fetch数据。这仍然不起作用。下面的代码解释我的困惑
下面是我要添加的行的var_转储:
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"
}
出于隐私原因,我需要用X和Y替换真实数据。请理解,在这样做时,我用这些字母替换了真实存在的数据。我会包括我使用的mysql查询,但这是不必要的,因为它显然成功地提取了信息
下一行是:
$writer->addrow($newRow);
请记住,代码与此完全相同:
var_dump($newRow);
echo "<br/><br/>";
$writer->addrow($newRow);
在一行中,与应为的内容相比:
|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|Y|Y|Y|Y|
我对这件事犹豫了好几个小时,还没有找到解决办法。我希望我的问题是有意义的,任何建议都会得到极大的赞赏。试试这个
$writer->addRow(WriterEntityFactory::createRowFromArray($newRow));
您使用的是
$writer->openToFile
还是$writer->openToBrowser
?是的,我在脚本开始时使用它来初始化$writer
。我忘记在问题中添加的一件事是,所有这些都进入了一个函数,我在函数中使用了global$writer
,以获得相同的变量。奇怪的是,大约20小时前,它不知从哪里开始工作。我根本没有更改任何代码,它开始工作了。如果发生任何事情,将在此处更新。
$writer->addRow(WriterEntityFactory::createRowFromArray($newRow));