Ich habe ein Problem mit dem Exportieren von Daten aus DataGridView in. TXT-Datei.DataGridView-Exporteur in C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace TSQ
{
class TxtExporter : IExporter
{
public void Export(DataGridView dataGrid, Output output)
{
if (output == null)
return;
string filePath = output.TemplatePath;
try
{
using (StreamWriter sw = new StreamWriter(filePath))
{
for (int row = 0; row < dataGrid.Rows.Count; row++)
{
for (int col = 0; col < dataGrid.Columns.Count; col++)
{
sw.Write(dataGrid[col, row].Value.ToString());
sw.Write('\t');
}
sw.WriteLine();
//sw.Flush(); <- also doesn`t work if uncommented
}
}
}
catch (Exception)
{
//MessageBox.Show(exc.Message);
throw;
}
}
}
}
Wenn ich eine große Daten aus der Datenbank in gridview herunterladen (über 350 K Aufzeichnungen) und ich versuche, es in txt-Datei zu exportieren, nach etwa 200 K von Datensätzen I „OutOfMemoryException“ get ... Haben Sie irgendwelche Idee, wie man große Daten von DataGridView exportiert?
Mit freundlichen Grüßen, Michael
Haben Sie durch Ihre Datagridview versucht, Looping und Speichern der Inhalte in einen Stringbuilder() und dann mit Stream stattdessen die Zeichenfolge in Ihre Textdatei zu schreiben? –
Mögliches Duplikat von [Schreiben in eine Textdatei von DataGridView in C# -Fensterform] (http://stackoverflow.com/questions/19311535/writing-to-a-text-file-from-datagridview-in-c-sharp- windows-form) –
Ich habe versucht, mit Zwischenablage, aber es funktioniert zu langsam und verursacht auch nicht genügend Speicher Ausnahme :( – Roofy