Sans Symfony, voici comment publier des données Excel vers la base de données.Comment utiliser liuggio/ExcelBundle pour publier des données Excel vers la base de données
// Include PHPExcel_IOFactory
require_once ('../Classes/PHPExcel/IOFactory.php');
$inputFileName = 'abc.xls';
// Read your Excel workbook
try {
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
} catch(Exception $e) {
die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}
// Get worksheet dimensions
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// Loop through each row of the worksheet in turn
for ($row = 1; $row <= $highestRow; $row++){
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,
NULL,
TRUE,
FALSE);
// Insert row data array into your database of choice here
}
Maintenant, avec le ExcelBundle, je suis coincé. La documentation ne m'aide pas du tout dans cette tâche. J'ai essayé tous les conseils donnés dans des questions similaires et je n'arrive pas à le faire.
Création d'un objet à partir d'un fichier comme dans l'exemple ci-dessous ne fonctionne pas du tout:
$phpExcelObject = $this->get('phpexcel')->createPHPExcelObject('file.xls');
Comment réaliser cette tâche?
Vous devez publier le code que vous avez essayé ** avec ** Symfony et spécifier exactement ce que "_n'a pas du tout fonctionné._". Lisez [Comment créer un exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve) et mettez à jour votre question en conséquence [Comment demander] (http://stackoverflow.com/help/) comment-demander) directives. –
@gp_sflover, Si je poste ce que j'ai essayé, je vais tout compliquer. Juste comment je vais accomplir la tâche ci-dessus avec Symfony est mon problème. Merci – maestro
Avez-vous suivi les instructions d'installation? Où est ce code que vous avez essayé? Si ce n'est pas dans un contrôleur qui ne va pas fonctionner –