speichern von Daten aus einer Abfrage als csv-Datei

Ich habe eine Anwendung, öffnet eine csv-Datei und zeigt den Inhalt in einem datagridview formatiert. Von dort habe ich eine Schaltfläche, die öffnet sich ein weiteres Formular, das enthält eine Reihe von Kontrollkästchen. Die Kontrollkästchen haben alle Attribute des csv-Datei, die wir schon einmal geöffnet, und der Benutzer soll in der Lage sein, um die Abfrage der Datei basiert auf der Hexe-Attribute, die Sie möchten, dann speichern Sie die Datei.

Zum Beispiel, wenn Sie wollen nur eine Datei, welche zeigt alle Einträge für Tiere mit Flügeln, die Sie auswählen, die Flügel Kontrollkästchen nur. Von dort aus, wählen Sie die Schaltfläche "speichern" und es soll um die Datei zu speichern.

private void button1_Click(object sender, EventArgs e)
{
    SaveFileDialog saveFileDialog1 = new SaveFileDialog();
    const string filter = "CSV file (*.csv)|*.csv| All Files (*.*)|*.*";
    const string header = "Animal_Name,Hair,Feathers,Eggs,Milk,Airborne,Aquatic,Predator,Toothed,Backbone,Breathes,Venomous,Fins,Legs,Tail,Domestic,Catsize,Type";
    StreamWriter writer = null;

    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {        
        filter = saveFileDialog1.FileName;
        writer = new StreamWriter(filter);

        writer.WriteLine(header);
        foreach (Animal animal in animalQuery)
        {
            writer.Write(animal);
        }  
        writer.Close();
    }
}

Dies ist der code für den speichern-button, aber es gibt Fehler unter:

filter = saveFileDialog1.FileName;
writer = new StreamWriter(filter); 

Ich bin mir nicht sicher, warum.

  • Der Fehler/Ausnahmen können nützlich sein, in diesem Fall. Auch, wo animalQuery definiert ist? Der code scheint unvollständig. Auch wenn die Flügel ausgewählt, Sie schreiben alle den Kopf-und ich glaube nicht, dass Sie in die richtige position in der Datei.
InformationsquelleAutor Ari | 2011-03-31
Schreibe einen Kommentar