Самый простой способ записи в файл - это метод DataTable.WriteXml
, который записывает все данные таблицы данных в файл XML, и этот файл позже можно загрузить:
SqlDataAdapter sqlAdap = new SqlDataAdapter(query, connection);
DataTable dt = new DataTable();
sqlAdap.Fill(dt);
string filePath = Server.MapPath("~/filename.xml");
dt.WriteXml(filePath);
Но если вы хотитезапишите эти данные в какой-то конкретный формат, скажем, csv, вы должны перебрать все строки и, используя класс StreamWrite
, вы можете записать их в файл.Приведенный ниже код просто для того, чтобы дать вам представление, я не добавил проверки типов или проверки на нулевое значение.
string filePath = Server.MapPath("~/somefile.csv");
System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath);
foreach (DataRow r in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
sw.Write(r[i].ToString());
sw.Write(",");
}
sw.WriteLine();
}
sw.Close();