PHPExcel hücre değerini dinamik olarak nasıl ayarlanacağı

2 Cevap php

PHPExcel kütüphanesi kullanarak dinamik hücre / sütun değerini nasıl ayarlanır?

Ben MySQL veritabanı sonuç kümesi getiriliyor ve ben PHPExcel kütüphaneyi kullanan excel formatında veri yazmak istiyorum. Örneğin bakıyor

$objPHPExcel->getActiveSheet()->setCellValue('A1', 'cell value here');

biz o hücre / sütun A1 yazar, 'A1' gibi sert kod hücre / sütun referansına sahip olduğunu gösterir. Nasıl sonuç kümesinden satırların ve karşılık gelen sütun değerlerine dayalı hücre / sütun ve / veya satır referans artırmak olabilir?

Rehberlik edin.

2 Cevap

Ben zaten veritabanına bağlandıktan asume.

$sql = "SELECT * FROM my_table";
$result = mysql_query($sql);

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

Ben çok deneyim php ile çalışma yok ama mantık açısından bu ne yapardım olduğunu.

  1. MySQL ayarlanmış sonucu ile döngü
  2. Excel zaten bu sütunlar ve size dönen kaç sütun biliyorum çünkü A, B, C ne olması gerektiğini bilmeli.
  3. Satır sayısı sadece döngünün her zaman artırılabilir.

Aşağıda, bu tekniği gösteren bazı pseudocode:

    for (int i = 0; i < MySQLResults.count; i++){
         $objPHPExcel->getActiveSheet()->setCellValue('A' . (string)(i + 1), MySQLResults[i].name); 
        // Add 1 to i because Excel Rows start at 1, not 0, so row will always be one off
         $objPHPExcel->getActiveSheet()->setCellValue('B' . (string)(i + 1), MySQLResults[i].number);
         $objPHPExcel->getActiveSheet()->setCellValue('C' . (string)(i + 1), MySQLResults[i].email);
    }