Tout d'abord, nous devons avoir une compréhension de base du fichier CSV. Le fichier CSV est similaire à Excel et peut être ouvert à l'aide d'Excel, mais l'essence du fichier CSV est séparée par les virgules, par exemple, la figure suivante:
Montré en txt:
Après avoir modifié le suffixe de fichier en CSV, il sera affiché comme suit:
En Java, nous utilisons généralement POI pour faire fonctionner Excel, importer et exporter, mais POI consomme beaucoup de mémoire, surtout lors de l'exportation. À l'heure actuelle, nous pouvons réellement choisir d'exporter pour générer des fichiers CSV, car il est similaire au texte, il est donc très efficace.
J'ai simplement écrit une classe d'implémentation, le code est le suivant:
/ ** * * Exporter le fichier au format CSV * @Author CCG * @param titres CSV Format En-tête * @param Propriétés Les propriétés de l'entité de données qui doivent être exportées, faites attention à celle correspondante au titre * @param Liste de la collecte des objets qui doivent être exportés * @return * @throws ioexception * @throws illégalaccessException * @throws illégalArgumentException * / public static <t> string exportcsv (string [] titres, string [] Properties, list <t> list) lance ioException, illégalargumentException, illégalAccessException {file file = new File ("d: //test.csv"); // Construisez le flux de sortie et spécifiez le codage outputStreamWriter ow = new OutputStreamWriter (new FileOutputStream (fichier), "gbk"); // Le fichier CSV est séparé des virgules. À l'exception du premier, vous devez saisir une virgule après avoir écrit une donnée à chaque fois après avoir écrit une cellule de données, {ow.write (title); ow.write (","); } // Écrivez la rupture de ligne après avoir écrit l'en-tête de fichier ow.write ("/ r / n"); // Écrivez du contenu pour (objet obj: list) {// Utilisez la réflexion pour obtenir tous les champs champs [] fields = obj.getClass (). GetDeclaredFields (); for (String Property: Properties) {for (Field Field: Fields) {// Set Field Visibility Field.SetAccessible (true); if (propriété.equals (field.getName ())) {ow.write (field.get (obj) .toString ()); ow.write (","); continuer; }}} // Après avoir écrit une ligne Break Ow.write ("/ r / n"); } ow.flush (); ow.close (); return "0"; }La classe de test est la suivante:
public void test () lève ioException, illégalArgumentException, illégalaccessException {string [] titres = new String [] {"id", "name"}; String [] Properties = new String [] {"id", "name"}; List <ser user> list = new ArrayList <User> (); Utilisateur utilisateur; user = new User (); user.setid (1L); user.setName ("Zhang San"); list.add (utilisateur); user = new User (); user.setid (2L); user.setName ("li si"); list.add (utilisateur); Csvutil.getInstance (). Exportcsv (titres, propriétés, liste); }Le fichier généré après l'exportation est le même que l'image ci-dessus, et est considéré comme une encapsulation. Passez simplement dans l'en-tête et les propriétés de l'entité correspondante de l'en-tête. Faites attention à correspondre un par un.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.