记录一次winform实现数据的导出为txt或者csv
之前没怎么接触过winform,写一个简单的工具将查询得数据导出成CSv
,示例如下:
this.saveFileDialog.FileName = string.Format("{0}.csv", tag);
this.saveFileDialog.Filter = "CSV files|*.csv|All files|*.*";
if (this.saveFileDialog.ShowDialog() != DialogResult.OK)
return;
StringBuilder sb = new StringBuilder();
var source = InfluxDbSourceAll.FirstOrDefault();
using (FileStream fs = new FileStream(this.saveFileDialog.FileName, FileMode.Create, FileAccess.Write))
{
StreamWriter sw = new StreamWriter(fs);
sb.Clear();
//写入表头
for (int index = 0; index < source.Columns.Count; ++index)
{
sb.Append(source.Columns[index]);
if (index < source.Columns.Count - 1)
sb.Append(",");
}
sw.WriteLine(sb.ToString());
//写入列
foreach (var item in source.Values)
{
sb.Clear();
for (int index = 0; index < item.Count; ++index)
{
sb.Append(item[index]);
if (index < item.Count - 1)
sb.Append(",");
}
sw.WriteLine(sb.ToString());
}
sw.Flush(); //此处必须有此操作
}