Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    explode su campo di un file excel

    come da titolo dovrei fare l'explode sui campi di un file excel da importare in una tabella mysql, perchè il prossimo passo della mia funzione dìsarebbe questo


    codice:
    codice:
    $pattern= getenv('XLSX_FILES')."*.xlsx";
    $files= glob($pattern);
    
    
    foreach($files as $file){
    echo $file;
    $filetype = explode("_",basename($file))[0];
    $uploaddir = getenv('XLSX_STORE').basename($file);
    switch ($filetype){
        case "WALL":
            rename($file, $uploaddir);
            echo "Upload file succesfully!";
    		try {
            $inputFileType = PHPExcel_IOFactory::identify($filetype);
            $objReader = PHPExcel_IOFactory::createReader($inputFileType);
            $phpExcel = $objReader->load($excelfilepath);
            $sheet = $phpExcel->getSheet(0);
        } catch (Exception $e) {
            echo $e->getMessage();
        }
    	  $highestrow = $sheet->getHighestRow();
    	  $highestcolumn = $sheet->getHighestColumn();
    	  $columncount = PHPExcel_Cell::columnIndexFromString($highestcolumn);
    	  $titles = $sheet->rangeToArray('A1:' . $highestcolumn . "1");
    	  $body = $sheet->rangeToArray('A2:' . $highestcolumn . $highestrow);
    	  $table = array();
    	  for ($row = 0; $row <= $highestrow - 2; $row++) {
    		$a = array();
    		for ($column = 0; $column <= $columncount - 1; $column++) {
    		  $a[$titles[0][$column]] = $body[$row][$column];
    		}
    		$table[$row] = $a;
    	  }?>
    	<table class="table table-bordered">
    		<?php
    	$sheet = $phpExcel->getSheet(0);
    	 $highestColumn = $sheet->getHighestColumn();
    	 $highestRow = $sheet->getHighestRow();
    	for ($row = 1; $row <= $highestRow; $row++):
    			$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
    			?>
    			<tr>
    				<?php foreach ($rowData[0] as $col): ?>
    					<td><?php echo $col; ?></td>
    				<?php endforeach; ?>
    			</tr>
    		<?php endfor; ?>
    	</table>
    
    
    
    
    	<?php
    			break;
    	default:
    			echo "File don't readable";
    }
    }
    
    
    
    $query=?
    cioè una volta che è stato riconosciuto che il file si chiama wall_ ed è stato quindi importato in XLSX_STORE, i dati del foglio excel vengono inseriti all'interno di un array di hash array che poi genera una tabella html, ora vorrei importare questi dati all'interno di una tabella mysql ma scompattati cioè


    http://i.stack.imgur.com/9yrC1.jpg


    questo è l'excel come si puo vedere il primo campo è da importare tutto intero, ma poi il secondo ed il terzo vanno scompattati cioè data/modello/tipo vanno divisi e potenza anche va diviso in due, come farlo? grazie, la connessione al db è gia fatta quindi mi serve solo la query, grazie ancora infinite

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2016
    Messaggi
    29
    Se riesci a recuperare i campi basta fare un controllo su quale colonna si sta analizzando quindi

    se (numero_colonna == 2){
    $campi = explode("/", $contenuto_colonna_2);
    echo
    $campi[0]; // campo1
    echo $campi[1]; // campo2
    }

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.