sql >> データベース >  >> RDS >> Mysql

PHPExcelを使用したCSVエクスポート/インポート

    CSVファイルをPHPExcelオブジェクトにインポートするには

    $inputFileType = 'CSV';
    $inputFileName = 'testFile.csv';
    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
    $objPHPExcel = $objReader->load($inputFileName);
    

    PHPExcelオブジェクトからCSVファイルをエクスポートするには

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
    $objWriter->save('testExportFile.csv');
    

    編集

    行とセルを読み通す方法:

    $worksheet = $objPHPExcel->getActiveSheet();
    foreach ($worksheet->getRowIterator() as $row) {
        echo 'Row number: ' . $row->getRowIndex() . "\r\n";
    
        $cellIterator = $row->getCellIterator();
        $cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
        foreach ($cellIterator as $cell) {
            if (!is_null($cell)) {
                echo 'Cell: ' . $cell->getCoordinate() . ' - ' . $cell->getValue() . "\r\n";
            }
        }
    }
    

    PHPExcelオブジェクトへの書き込み方法:データの出所はわかりません。MySQLクエリから書き込む方法は次のとおりです。

    $query = sprintf("SELECT firstname, lastname, age, date_of_birth, salary FROM employees WHERE firstname='%s' AND lastname='%s'",
                      mysql_real_escape_string($firstname),
                      mysql_real_escape_string($lastname));
    $result = mysql_query($query);
    
    $row = 1;
    $objPHPExcel->getActiveSheet()->setCellValue('A'.$row, 'First Name')
                                  ->setCellValue('B'.$row, 'Last Name')
                                  ->setCellValue('C'.$row, 'Age')
                                  ->setCellValue('D'.$row, 'Date of birth')
                                  ->setCellValue('E'.$row, 'Salary');
    $row++;
    while ($rec = mysql_fetch_assoc($result)) {
        $objPHPExcel->getActiveSheet()->setCellValue('A'.$row, $rec['firstname'])
                                      ->setCellValue('B'.$row, $rec['lastname'])
                                      ->setCellValue('C'.$row, $rec['age'])
                                      ->setCellValue('D'.$row, PHPExcel_Shared_Date::stringToExcel($rec['date_of_birth']))
                                      ->setCellValue('E'.$row, $rec['salary']);
        $objPHPExcel->getActiveSheet()->getStyle('D'.$row)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15);
        $objPHPExcel->getActiveSheet()->getStyle('E'.$row)->getNumberFormat()->setFormatCode('£#,##0.00');
        $row++;
    }
    


    1. RubyonRails用のUbuntuへのPostgreSQLのインストール

    2. はじめにAzureSQLデータベースでのパフォーマンスの調整

    3. MySQLのテーブル名では大文字と小文字が区別されますか?

    4. MySqlのEFコア`update-database`が`__EFMigrationsHistory'が存在しないために失敗します`