2015-10-15 5 views
-1

Как преобразовать большой набор данных xls или csv в данные mysql с использованием PHP и предпочтительно использовать Silverstripe API? Могу ли я сделать это напрямую или мне нужно сначала преобразовать текст?Как преобразовать xls в mysql?

+1

csv- php имеет встроенные функции: http://nz2.php.net/manual/en/function.fgetcsv.php и т. Д., Для xls есть [PHPexcel] (https://phpexcel.codeplex.com/) - mysql может импортировать csv [напрямую] (https://dev.mysql.com/doc/refman/5.1/en/load-data.html) –

ответ

5

В SilverStripe есть несколько способов импортировать CSV-файлы в ваш datamodel.

документация стоит читать на этом разделе: https://docs.silverstripe.org/en/3.1/developer_guides/integration/csv_import/

Самый быстрый и самый простой способ управлять пользовательский DataObject с интерфейсом ModelAdmin и использовать встроенный в CSV-импортера.

class PlayerAdmin extends ModelAdmin { 
    private static $managed_models = array(
     'Player' 
    ); 
    private static $url_segment = 'players'; 
} 

Когда вы идете в плеер ModelAdmin вы увидите форму импорта CSV слева. Убедитесь, что заголовки столбцов в вашем файле CSV совпадают с именами переменных вашего объекта данных.

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

1
Example #1 Read and print the entire contents of a CSV file 
<?php 
$row = 1; 
if (($handle = fopen("test.csv", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     echo "<p> $num fields in line $row: <br /></p>\n"; 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      echo $data[$c] . "<br />\n"; 
     } 
    } 
    fclose($handle); 
} 
?> 
+1

да руководство, очень хорошее –

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