2015-01-25 3 views
0

Я пишу экспорт, чтобы преуспеть & иметь динамическое число столбцов, то есть я не знаю, сколько столбцов будет необходимо перед запуском запроса, поэтому мне нужно динамически назначить номера столбцов, как показано ниже:Как динамически генерировать номера столбцов Excel в php?

$objPHPExcel->setActiveSheetIndex(0) 
->setCellValue('A1', 'value') 
->setCellValue('A2', 'value') 
->setCellValue('B2', 'value') 
->setCellValue('C2', 'value') 
//...etc... 
->setCellValue('AA2', 'value') 
->setCellValue('AB2', 'value') 
->setCellValue('AC2', 'value') 
//...etc... 

как я могу это сделать с помощью php?

ОБНОВЛЕНИЕ

извините, шаблон столбца именования:

А, В, С, .. АА, АВ, АС ... ВА, ВВ, ВС ... и т.д., Суффикс числа - это фактически строка. и нет, «значение будет фактически заселена из некоторых данных запроса, устанавливающих мои ценности будет выглядеть как:

$i=1; 
while($result= $query->fetch_assoc()){ 

->setCellValue($col.$i, $result['whatever']) 
$i++; 

} 

Я просто не знаю, как получить буквы столбцов для увеличения в этой модели.

+0

Так вы хотите сделать это «динамическим»: '-> setCellValue()'? Если да, то какой шаблон выполняет «A1, A2, B2, C2»? И должен ли он каждый раз записывать значение «значение» как значение или должны ли данные поступать из массива? – Rizier123

ответ

0

Если вы не знаете, сколько столбцов/строк вы собираетесь работать заранее, как вы можете использовать свободный интерфейс таким образом?

После правки вопроса, вы могли бы сделать что-то вроде:

$i = 1; 
while($result = $query->fetch_assoc()){ 
    $col = 'A'; 
    foreach($result as $value) { 
     $objPHPExcel->getActiveSheet()->setCellValue($col++.$i, $value); 
    } 
    $i++; 
} 

Однако, Вы могли бы рассмотреть вопрос о принятии другого подхода, и с помощью метода fromArray() для заполнения данных

$i = 1; 
while($result = $query->fetch_assoc()){ 
    $objPHPExcel->getActiveSheet()->fromArray('A'.$i++, $result); 
} 
+0

одним из наборов столбцов будут некоторые группы участников, мы не знаем, сколько групп существует, потому что админы могут добавлять их в любое время. –

+0

Вы имеете в виду $ myarray = array ('a, b, c, d ... aa, ab, ac ... ba, bb, bc)? –

Смежные вопросы