2017-12-04 7 views
-1

PHPexcelで配列の値を列に埋め込む際に問題があります。配列にクエリ結果があります。列A、B、C ...行ではありません!私はPHPexcel配列の値が列

for ($i = 1; $i <= 10; $i++) { 
$objPHPExcel->getActiveSheet()->fromArray($nivelacija, null, 'A' . $i); 
} 

が、成功しませんようにそれをやって試してみました

while (($red = pg_fetch_assoc($resultID))) { 
$nivelacija[] = $red ['nivelacija']; 
$dokument[] = $red ['dokument']; 
$sifra[] = $red ['sifra']; 
$naziv[] = $red ['naziv']; 
$kol[] = $red ['kol']; 
$pdv[] = $red ['pdv']; 
$datum[] = $red ['datum']; 
$stara[] = $red ['stara']; 
$nova[] = $red ['nova']; 
$marza[] = $red ['marza']; 
$razlika[] = $red ['razlika']; 
$zaduzenje[] = $red ['zaduzenje']; 

    } 

は、唯一の特定の細胞をターゲットにすることができfromArray機能のように見えます。だから私はこの

for ($i = 1 , $vrednost=0; $i <= 50; $i++ , $vrednost++) { 
$objPHPExcel->getActiveSheet()->setCellValue('A' .$i, "$nivelacija[$vrednost]"); } 

に変更しようとしているが、このように私は列Aに結果を得ることなく、どこでも、それは私が「私が書くとき、それは動作しますこれをテストしているアレイ(49)

にアレイ(0)を書き込み$ nivelacija [0] "は、対象の列に値を書き込みます。

各配列の配列値を別の列に取得する方法がわかりません。私が管理していたのは、行にエクスポートするだけですが、それは私の仕事ではありません。

どのようにpgクエリを直接配列なしで得ることができますか?それでも配列の列の問題を解決したいです。

EDITS:それは唯一の8の値は、日付が1日だけのために選択されている原因があるvar_dump ($nivelacija);

array(8) { [0]=> string(8) "NMP03945" [1]=> string(8) "NMP03944" [2]=> string(8) "NMP03943" [3]=> string(8) "NMP03942" [4]=> string(8) "NMP03942" [5]=> string(8) "NMP03942" [6]=> string(8) "NMP03941" [7]=> string(8) "NMP03940" } 

結果。それfromArray()の引数としてあなたが提供する配列の場合

array(12) { [0]=> array(8) { [0]=> string(8) "NMP03945" [1]=> string(8) "NMP03944" [2]=> string(8) "NMP03943" [3]=> string(8) "NMP03942" [4]=> string(8) "NMP03942" [5]=> string(8) "NMP03942" [6]=> string(8) "NMP03941" [7]=> string(8) "NMP03940" } [1]=> array(8) { [0]=> string(8) "RNB15269" [1]=> string(8) "RNB15266" [2]=> string(8) "RNB15264" [3]=> string(8) "RNB15261" [4]=> string(8) "RNB15261" [5]=> string(8) "RNB15261" [6]=> string(8) "RNB15262" [7]=> string(8) "RNB15255" } [2]=> array(8) { [0]=> string(7) "0670723" [1]=> string(7) "4610602" [2]=> string(7) "4610800" [3]=> string(7) "1011910" [4]=> string(7) "4320350" [5]=> string(7) "0291415" [6]=> string(7) "2631463" [7]=> string(7) "4610513" } [3]=> array(8) { [0]=> string(40) "Gree Viola Profi inverter Wifi klima 18k" [1]=> string(16) "Matrix HDMI 1.5m" [2]=> string(31) "CCP-USB2-AMBM-10 USB Printer 3m" [3]=> string(28) "Green PC G1840/H81/4GB/320GB" [4]=> string(21) "HP LaserJet Pro M102a" [5]=> string(31) "Monitor 19 Philips 193V5LSB2/10" [6]=> string(25) "Maxell speedboat USB 16GB" [7]=> string(20) "PC-186 naponski kabl" } [4]=> array(8) { [0]=> string(1) "1" [1]=> string(1) "3" [2]=> string(1) "1" [3]=> string(1) "1" [4]=> string(1) "1" [5]=> string(1) "1" [6]=> string(1) "1" [7]=> string(1) "1" } [5]=> array(8) { [0]=> string(2) "20" [1]=> string(2) "20" [2]=> string(2) "20" [3]=> string(2) "20" [4]=> string(2) "20" [5]=> string(2) "20" [6]=> string(2) "20" [7]=> string(2) "20" } [6]=> array(8) { [0]=> string(10) "2017-11-18" [1]=> string(10) "2017-11-18" [2]=> string(10) "2017-11-18" [3]=> string(10) "2017-11-18" [4]=> string(10) "2017-11-18" [5]=> string(10) "2017-11-18" [6]=> string(10) "2017-11-18" [7]=> string(10) "2017-11-18" } [7]=> array(8) { [0]=> string(10) "94990.0000" [1]=> string(8) "280.0000" [2]=> string(8) "290.0000" [3]=> string(10) "22990.0000" [4]=> string(9) "9990.0000" [5]=> string(9) "9990.0000" [6]=> string(9) "1190.0000" [7]=> string(8) "290.0000" } [8]=> array(8) { [0]=> string(10) "94000.0000" [1]=> string(8) "200.0000" [2]=> string(8) "150.0000" [3]=> string(10) "22000.0000" [4]=> string(9) "9500.0000" [5]=> string(9) "8700.0000" [6]=> string(9) "1050.0000" [7]=> string(8) "250.0000" } [9]=> array(8) { [0]=> string(7) "-1.0422" [1]=> string(8) "-28.5714" [2]=> string(8) "-48.2759" [3]=> string(7) "-4.3062" [4]=> string(7) "-4.9049" [5]=> string(8) "-12.9129" [6]=> string(8) "-11.7647" [7]=> string(8) "-13.7931" } [10]=> array(8) { [0]=> string(9) "-990.0000" [1]=> string(8) "-80.0000" [2]=> string(9) "-140.0000" [3]=> string(9) "-990.0000" [4]=> string(9) "-490.0000" [5]=> string(10) "-1290.0000" [6]=> string(9) "-140.0000" [7]=> string(8) "-40.0000" } [11]=> array(8) { [0]=> string(4) "-990" [1]=> string(4) "-240" [2]=> string(4) "-140" [3]=> string(4) "-990" [4]=> string(4) "-490" [5]=> string(5) "-1290" [6]=> string(4) "-140" [7]=> string(3) "-40" } } 

答えて

0

は、[OK]を私は

$row = 4; // 1-based index 
while($row_data = pg_fetch_assoc($resultID)) { 
    $col = 0; 
    foreach($row_data as $key=>$value) { 
     $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); 
     $col++; 
    } 
    $row++; 
} 

0

をvar_dumpingの値の月次withunknown番号を使用することを想定

----追加$ SVE配列

$sve = array($nivelacija, $dokument, $sifra, $naziv, $kol, $pdv, $datum, $stara, $nova, $marza, $razlika, $zaduzenje); 

結果単純な1次元配列であれば、その行の各セルのエントリを持つ行として扱われます。 fromArray()を使用して列を書きたい場合は、2次元配列が必要です。

$objPHPExcel->getActiveSheet()->fromArray([$nivelacija], null, 'A1'); 

A

+0

負荷空の助けのためにその作業罰金感謝を見つけた最良の解決策列に$nivelacija配列の各要素の行を記述します画面が表示されない場合でも開くことができます []私は行として左から右に取得しますが、上から下に列としてあなたのソリューションdoes not open何かをしていないのですか? –

+0

'$ nivelacija'のvar_dumpを実行します。あなたが作成しているのは、1次元の配列です。私が行った変更は2次元配列に変換する必要があります。それ以上のものはありません。また、空白のスクリーニングであれば、だから、ログを確認する –

+0

あなたのコードの前にvar_dumpすると値が出力されますが、空白の画面のあとにそれを行うのであれば –