• 19-02-2020, 18:46:54
    #1
    Merhaba,

    https://github.com/oliverschwarz/php-excel

    Vermiş olduğum class'ı kullanarak excel çıktısı almak istiyorum ama array içerisinde while kullanamıyorum.

    <?php
    
    // sınıf dosyası
    require '../islemler/excel.php';
    
    $data = array(
    1 => array(
    'Ad Soyad', 'İl', 'İlçe', 'Adres',' Gsm','Faks','Mail','Bakiye', 'İban'
    ),
    
    
    while($kullanici = $kullanicisor->fetch(PDO::FETCH_ASSOC)) {
    array(
    echo $kullanici['kullanici_adsoyad'], echo $kullanici['kullanici_il'], echo $kullanici['ilce'], echo $kullanici['kullanici_adres'],             echo $kullanici['kullanici_gsm'], echo $kullanici['kullanici_gsm'], echo $kullanici['kullanici_faks'], echo $kullanici['kullanici_mail'],
    echo $kullanici['kullanici_bakiye'], echo $kullanici['kullanici_iban']
    )
        }
    );
    
    $xls = new Excel_XML('UTF-8', false, 'Kullanıcı Verileri');
    $xls->addArray($data);
    $xls->generateXML($dizin = $_SERVER["HTTP_HOST"]."-"."Musteriler-Yedek");
    
    ?>
  • 19-02-2020, 22:47:03
    #2
    Array içinde zaten while kullanamazsınız.
    While kullanarak veriler üzerinde array e eklemek istediklerinizi (hangisi size uygunsa) array_merge veya array_push kullanarak dizileri birleştirebilir veya diziye eleman ekleyebilirsiniz.

    İlk defa array içinde while kullanmaya çalışan biriyle karşılaşıyorum.
  • 19-02-2020, 23:25:01
    #3
    Hocam merhaba,

    Öncelikle yanıt verdiğiniz için teşekkür ederim. Ama amacımız yargılamaktan çok düzeltmek olsa bu kadar zor olmazdı eminim. Olayımız zaten bir array'e yeni veri eklemek değil her veri geldiğinde yeni array oluşturmak bunuda buradaki class'a göre array içerisinde yeni bir array oluşturarak göndermem gerekiyor. Yine while ile verileri döndermeden verileri ekleme yapamam diyelim yaptım her gelen veri için yeni bir array oluşturmam lazım ki yeni satır oluşturabileyim.
  • 20-02-2020, 13:10:50
    #4
    Yargılamak değil eleştirmek diye düşünüyorum.

    Aşağıya for döngüsü ile yazılmış ufak bir örnek bırakıyorum,siz while e uyarlayabilirsiniz.
    Ayrıca bu şekilde çıktı almak için dışardan sınıf eklemenize gerek yok, header kullanarak daha kolay şekilde yapabilirsiniz.

    <?php
    
    require dirname(__FILE__) . '/php-excel/php-excel.class.php';
    
    $headlines = ['Ad Soyad', 'İl', 'İlçe', 'Adres',' Gsm','Faks','Mail','Bakiye', 'İban'];
    
    $data = [];
    
    array_push($data, $headlines);
    
    for ($i=1; $i < 10; $i++) {
        $new_line = [
            "{$i} isim",
            "{$i} il",
            "{$i} ilçe",
            "{$i} adres",
            "{$i} gsm",
            "{$i} faks",
            "{$i} mail",
            "{$i} bakiye",
            "{$i} iban",
        ];
    
        array_push($data, $new_line);
    }
    
    
    $xls = new Excel_XML;
    $xls->addWorksheet('Names', $data);
    $xls->sendWorkbook('test.xls');
  • 20-02-2020, 14:45:36
    #5
    coder63 adlı üyeden alıntı: mesajı görüntüle
    Yargılamak değil eleştirmek diye düşünüyorum.

    Aşağıya for döngüsü ile yazılmış ufak bir örnek bırakıyorum,siz while e uyarlayabilirsiniz.
    Ayrıca bu şekilde çıktı almak için dışardan sınıf eklemenize gerek yok, header kullanarak daha kolay şekilde yapabilirsiniz.

    <?php
    
    require dirname(__FILE__) . '/php-excel/php-excel.class.php';
    
    $headlines = ['Ad Soyad', 'İl', 'İlçe', 'Adres',' Gsm','Faks','Mail','Bakiye', 'İban'];
    
    $data = [];
    
    array_push($data, $headlines);
    
    for ($i=1; $i < 10; $i++) {
        $new_line = [
            "{$i} isim",
            "{$i} il",
            "{$i} ilçe",
            "{$i} adres",
            "{$i} gsm",
            "{$i} faks",
            "{$i} mail",
            "{$i} bakiye",
            "{$i} iban",
        ];
    
        array_push($data, $new_line);
    }
    
    
    $xls = new Excel_XML;
    $xls->addWorksheet('Names', $data);
    $xls->sendWorkbook('test.xls');
    Merhaba,

    Öncelikle teşekkür ederim. Olayı header ile çözdüm daha önce excel üzerinden her hangi bir işlem yapmadığım için bilgim yoktu. Tekrar bir araştırma yaparak olayı hallettim tekrardan teşekkür ederim.
  • 20-02-2020, 15:01:50
    #6
    hasanbugra adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Öncelikle teşekkür ederim. Olayı header ile çözdüm daha önce excel üzerinden her hangi bir işlem yapmadığım için bilgim yoktu. Tekrar bir araştırma yaparak olayı hallettim tekrardan teşekkür ederim.
    Rica ederim , iyi çalışmalar.