я могу поместить = MAX (K2, L2, M2, O2, P2, Q2, N2) в ячейку F2 с помощью xlsxwriter, нет проблем, но я не могу изменить его для каждой строки (то есть = MAX (K2, L2, M2) , O2, P2, Q2, N2) в ячейке F2)
таким образом, если бы у меня было тысяча строк, она бы пошла (т.е. MAX (K1000, L1000, M1000, O1000, P10002, Q2, N1000) в ячейке F1000) (BestPrice — это строка F)
это код, который у меня есть в PHP 5.3.24
…
$resulted[$y] = array('ISBN' => $isbn,
'Quantity' => $qty,
'Title' => $shortTitle,
'ItemAmount'=>$amount,
'Best'=>$best,
'BestPrice'=> '=MAX(K2,L2,M2,O2,P2,Q2,N2)',
'Difference'=>'=E-H',
'AvaQty'=>$AvaQty,
'LastDate'=>$LastDate,
'LastPrice'=>$LastPrice,
);
$y++;
}$header = array('ISBN' => 'integer',
'Quantity' => 'integer',
'Title' => 'string',
'Item_Amount'=>'price',
'Best' =>'string',
'BestPrice'=> 'price',
'Difference'=>'price',
'AvaQty'=>'integer',
'LastDate'=>'date',
'LastPrice'=>'price',);
$col_options=array('widths'=> array(40, 10,40,10));
$writer = new XLSXWriter();
$writer->writeSheetHeader('Name', $header, $col_options);
foreach($resulted as $row)
$writer->writeSheetRow('Name', $row);
$writer->writeToFile("../My".$tracking .".xlsx");
Какие-нибудь мысли
Вам просто нужно использовать переменную для отслеживания номеров строк. В зависимости от того, что $y
вы можете использовать это. Если нет, то что-то вроде этого будет работать:
$y = 0;
$row = 2;
foreach($book_list as $book){ //Assuming you have some kind of book list you're iterating over...
//Doing some stuff (e.g. setting those variables you use in the array)
$resulted[$y] = array('ISBN' => $isbn,
'Quantity' => $qty,
'Title' => $shortTitle,
'ItemAmount'=>$amount,
'Best'=>$best,
'BestPrice'=> "=MAX(K{$row},L{$row},M{$row},O{$row},P{$row},Q{$row},N{$row})", //Note the change in this line.
'Difference'=>'=E-H',
'AvaQty'=>$AvaQty,
'LastDate'=>$LastDate,
'LastPrice'=>$LastPrice,
);
$y++;
$row++;
}
Я подозреваю, что вы сможете использовать $y
для этого вместо отдельной переменной, предполагая, что это просто 0-индексированный счетчик, вы можете сделать что-то вроде $row = $y+2
в начале итерации цикла. Независимо от этого, это должно указать вам в правильном направлении
Других решений пока нет …