2017-09-08 5 views
1

Je rencontre des problèmes pour enregistrer le fichier Excel dans la base de données mysql, il contient une nouvelle ligne et des symboles & exposants ainsi. Mais il stocke uniquement en texte brut.Comment lire indice/exposant/nouvelle ligne en utilisant la bibliothèque PHPExcel lors de l'importation de fichier Excel en PHP et de stocker dans MySQL

$objReader = new PHPExcel_Reader_Excel5(); 
$objPHPExcel = $objReader->load($inputFileName); 
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true); 

puis-je lire des données et utiliser

reset($sheetData); 

pour réinitialiser le pointeur. et utilisez à nouveau la boucle foreach() pour ajouter les données dans un tableau et insérer ce tableau dans la table mysql. Est-ce que l'une de ces étapes supprime le pré-formatage (exposant/indice/nouvelle ligne dans une cellule et gras/italique)? et Comment puis-je mettre les données dans le tableau exactement comme dans l'Excel? Edit: J'utilise v1.8 de PHPExcel, v5.4 de PHP et MySQL v5.6

Répondre

0
include APPPATH.'/spreadsheetreader/php-excel-reader/excel_reader2.php'; 
require(APPPATH.'/spreadsheetreader/SpreadsheetReader.php'); 
require(APPPATH.'/spreadsheetreader/SpreadsheetReader_CSV.php'); 
require(APPPATH.'/spreadsheetreader/SpreadsheetReader_ODS.php'); 
require(APPPATH.'/spreadsheetreader/SpreadsheetReader_XLS.php'); 
require(APPPATH.'/spreadsheetreader/SpreadsheetReader_XLSX.php'); 
class Dashboard extends REST_Controller 
{ 
     public function __construct() 
     { 
      parent:: __construct(); 

      $this->load->library("PHPExcel"); 


     } 


    public function dashboard_post() 
    { 


       $Reader = new SpreadsheetReader('./upload/'.$filename); 
       $totalSheet = count($Reader->sheets()); 
    //print_r($totalSheet);exit; 
    // For Loop for all sheets 
    if($totalSheet>0) 
    { 
       for($i=0;$i<$totalSheet;$i++) 
       { 
       $Reader->ChangeSheet($i); 

       foreach ($Reader as $Row) 
       { 
         $data=array(

           'your table column name'=>isset($Row[1]) ? $Row[1] : '', 
           'your table column name'=>isset($Row[2]) ? $Row[2] : '', 
           'your table column name'=>isset($Row[3]) ? $Row[3] : '', 
           'your table column name'=>isset($Row[4]) ? $Row[4] : '',); 
         } 
+0

voulez-vous dire cette bibliothèque -> [tableur-lecteur] (https://github.com/nuovo/spreadsheet-reader) ?? –

+0

vous devez télécharger spradsheet libary et le coller dans le dossier de l'application, puis fournir le chemin pour ce dossier avec require key comme je l'ai demandé (APPPATH. '/ Spreadsheetreader/SpreadsheetReader_CSV.php'); –

0

La méthode toArray() vise à fournir une simple fonction pour obtenir le texte brut à partir de cellules de données dans une feuille de calcul; tout le "formatage" du texte enrichi (cellules qui contiennent des styles, des couleurs, des retours à la ligne et des informations de police différents pour différentes parties du contenu de la cellule) est supprimé pour fournir ce texte brut.

Si vous souhaitez accéder à ces informations de style, vous devez obtenir vous-même les données des cellules individuelles à l'aide de la méthode getValue() de la cellule; vous aurez donc besoin d'écrire votre propre boucle pour faire cela pour toutes les cellules de la feuille; et vous devrez décider comment vous allez stocker les choses comme les exposants ou gras/italique/souligner dans votre base de données, et analyser les données de la cellule de texte riche en conséquence