web-dev-qa-db-fra.com

Ajout d'un caractère de nouvelle ligne dans une cellule (CSV)

J'aimerais importer des descriptions de produits qui doivent être divisées de manière logique en fonction d'éléments, tels que la description, les dimensions, les finitions, etc.

22
user2997761

Pouvez-vous encoder CR/LF dans des fichiers CSV? .

Pensez également au reverse engineering de plusieurs lignes dans Excel. Pour incorporer une nouvelle ligne dans une cellule Excel, appuyez sur Alt + Entrée. Enregistrez ensuite le fichier au format .csv. Vous verrez que les doubles guillemets commencent sur une ligne et que chaque nouvelle ligne du fichier est considérée comme un retour à la ligne incorporé dans la cellule. 

15
rajah9

J'ai eu du mal avec cela aussi, mais voici la solution. Si vous ajoutez " avant et à la fin de la chaîne de csv que vous essayez d'afficher, cela les regroupera dans une cellule tout en respectant la nouvelle ligne. 

csvString += "\""+"Date Generated: \n" ; 
csvString += "Doctor: " + "\n"+"\"" + "\n"; 
12
Dan Robidoux

Je concaténais la variable et ajoutais plusieurs éléments dans la même ligne. donc ci-dessous le code fonctionne pour moi. "\ n" Le code de nouvelle ligne est obligatoire pour ajouter le premier et le dernier de chaque ligne si vous voulez l’ajouter au dernier mais seulement les 1 et 2 derniers caractères seront ajoutés aux nouvelles lignes.

  $itemCode =  '';
foreach($returnData['repairdetail'] as $checkkey=>$repairDetailData){

    if($checkkey >0){
        $itemCode   .= "\n".trim(@$repairDetailData['ItemMaster']->Item_Code)."\n";
    }else{
        $itemCode   .= "\n".trim(@$repairDetailData['ItemMaster']->Item_Code)."\n";             
    }
    $repairDetaile[]= array(
        $itemCode,
    )
}
// pass all array to here 
foreach ($repairDetaile as $csvData) { 
    fputcsv($csv_file,$csvData,',','"');
}
fclose($csv_file);  
0
kantsverma

Sur Excel pour Mac 2011, la nouvelle ligne devait être un \r au lieu d'un \n

Alors

"\"first line\rsecond line\""

apparaîtrait comme une cellule avec 2 lignes

0
Sam

J'ai le même problème lorsque j'essaie d'exporter le contenu d'un courrier électronique au format csv tout en le conservant lors de l'importation dans Excel.

J'exporte le contenu comme ceci: = "Ligne 1" & CHAR (10) & "Ligne 2"

Lorsque je l'importe dans Excel (google), Excel le comprend sous forme de chaîne. Cela ne brise toujours pas la nouvelle ligne.

Nous devons demander à Excel de le traiter comme une formule par: Format -> Number | Scientifique.

Ce n'est pas le bon moyen mais cela résout mon problème.

0
Luan Nguyen