• 27-06-2018, 15:48:21
    #1
    Merhabalar
    Php excel Class sınıfını kullanarak excel verilerimi veri tabanına aktarıyorum fakat formül kullandığım alanlarda formülü baz alıyor mesala A1 hücresi =A2+A3 olsun aynı bu şekilde aktarıyor sonuç 5 mesala ben direk sonucunu yazdırmak istiyorum önerileriniz nelerdir?

    Kullandığım sınıf : https://github.com/PHPOffice/PHPExcel
  • 27-06-2018, 17:11:57
    #2
    Dökümantasyon kullanın.

    PHPExcel - DEPRECATED

    PHPExcel last version, 1.8.1, was released in 2015. The project is no longer maintained and should not be used anymore.

    All users should migrate to its direct successor PhpSpreadsheet, or another alternative.

    https://github.com/PHPOffice/PhpSpreadsheet

    https://phpspreadsheet.readthedocs.i...html?q=formula

    linkte örnekler mevcut.

    iyi çalışmalar
  • 27-06-2018, 19:46:30
    #3
    CoreDeluxe adlı üyeden alıntı: mesajı görüntüle
    Dökümantasyon kullanın.

    PHPExcel - DEPRECATED

    PHPExcel last version, 1.8.1, was released in 2015. The project is no longer maintained and should not be used anymore.

    All users should migrate to its direct successor PhpSpreadsheet, or another alternative.

    https://github.com/PHPOffice/PhpSpreadsheet

    https://phpspreadsheet.readthedocs.i...html?q=formula

    linkte örnekler mevcut.

    iyi çalışmalar
    ilginiz için teşekkür ederim uğraştım baya ama çözemedim kullandığım sınıfımı değiştirmem gerekiyor çünkü veri tabanına kayıt ederken formüller text olarak geçiyor
  • 28-06-2018, 09:49:13
    #4
    cagatayturkmen adlı üyeden alıntı: mesajı görüntüle
    ilginiz için teşekkür ederim uğraştım baya ama çözemedim kullandığım sınıfımı değiştirmem gerekiyor çünkü veri tabanına kayıt ederken formüller text olarak geçiyor
    rica ederim.

    büyük harflerle DEPRECATED ifadesi bulunuyor, kullanmayın bu sınıfı.

    size verdiğim linkteki sınıfı kullanın. (konuda belirttiğin linkte mevcut)

    formula aramasında ilk sonuca tıklayın.

    formül ekleme desteği var.
    $spreadsheet->getActiveSheet()->setCellValue('B8','=IF(C4>500,"profit","loss")' );

    https://phpspreadsheet.readthedocs.i...lation-engine/

    $spreadsheet->getActiveSheet()->getCell('E11')->getCalculatedValue();

    hesaplanan değeri getiren method mevcut.

    adım adım inceleyerek test ederek ilerleyin yaparsınız.

    https://phpspreadsheet.readthedocs.i...readsheet-file

    dosya yükleme

    $inputFileType = 'Xls';
    $inputFileName = './sampleData/example1.xls';
    $sheetname = 'Data Sheet #2';

    /** Create a new Reader of the type defined in $inputFileType **/
    $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader( $inputFileType);
    /** Advise the Reader of which WorkSheets we want to load **/
    $reader->setLoadSheetsOnly($sheetname);
    /** Load $inputFileName to a Spreadsheet Object **/
    $spreadsheet = $reader->load($inputFileName);


    https://phpspreadsheet.readthedocs.i...sing-iterators

    $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader( 'Xlsx');
    $reader->setReadDataOnly(TRUE);
    $spreadsheet = $reader->load("test.xlsx");

    $worksheet = $spreadsheet->getActiveSheet();

    echo '<table>' . PHP_EOL;
    foreach ($worksheet->getRowIterator() as $row) {
    echo '<tr>' . PHP_EOL;
    $cellIterator = $row->getCellIterator();
    $cellIterator->setIterateOnlyExistingCells(FALSE); // This loops through all cells,
    // even if a cell value is not set.
    // By default, only cells that have a value
    // set will be iterated.
    foreach ($cellIterator as $cell) {
    echo '<td>' .
    $cell->getValue() .
    '</td>' . PHP_EOL;
    }
    echo '</tr>' . PHP_EOL;
    }
    echo '</table>' . PHP_EOL;

    sitenin dökümantasyonu çok iyi durumda, ne ararsanız örnekleri ile sunuyor size