C#导出ListView 数据生成CSV文件

	/// <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, "确认");
        }
    }
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值