/// <summary>
/// 导出ListView 数据生成CSV文件
/// </summary>
/// <param name="Name">文件名</param>
/// <param name="listView">ListView 数据</param>
static public void GetData(string Name, ListView listView)
{
//判断ListView 是否存在数据
if (listView.Items.Count == 0)
{
MessageBox.Show("未找到可导入的数据");
return;
}
//实力恶化SaveFileDialog ,打开保存位置
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "csv(*.csv)|*.csv";
dlg.DefaultExt = "csv";
dlg.FilterIndex = 0;
dlg.Title = "另存为";
//获取文件名称
dlg.FileName = Name + "盈亏净值表" + DateTime.Now.ToString("yyyyMMddHHmmssffff");
try
{
if (dlg.ShowDialog() == DialogResult.OK)
{
int size = 1024;
int sizeCnt = (int)Math.Ceiling((Double)listView.Items.Count / (Double)2000);
StreamWriter write = new StreamWriter(dlg.FileName, false, Encoding.Default, size * sizeCnt);
//获取listView标题行
for (int t = 0; t < listView.Columns.Count; t++)
{
write.Write(listView.Columns[t].Text + ",");
}
write.WriteLine();
//获取listView数据行
for (int lin = 0; lin < listView.Items.Count; lin++)
{
string Tem = null;
for (int k = 0; k < listView.Columns.Count; k++)
{
string TemString = listView.Items[lin].SubItems[k].Text;
Tem += TemString;
Tem += ",";
}
write.WriteLine(Tem);
}
write.Flush();
write.Close();
MessageBox.Show("导出成功:" + dlg.FileName.ToString().Trim());
}
}
catch (System.Exception ex)
{
string message = "CSV文件导出失败。" + "\n" + "文件:" + dlg.FileName.ToString().Trim() + "\n" + "可能处于打开状态或者被其他程序占用。";
MessageBox.Show(message, "确认");
}
}
C#导出ListView 数据生成CSV文件
最新推荐文章于 2023-01-14 21:00:00 发布