C# 将ListView数据导出到Excel文本之方法

该博客介绍了如何使用C#将ListView控件中的数据导出到Excel文件,包括文件操作、数据库连接、表创建及数据插入等步骤。通过遍历ListView的Columns和Items,创建相应的Excel表格并填充数据。代码示例中还涉及异常处理和SaveFileDialog的使用。

下面代码演示了如何将ListView中的数据导出到Excel的方法,例子代码中还包括了一些编程中的其它小方法,比如:

1)文件的拷贝复制方法

2)文件属性的修改

3)ListView控件Columns的遍历

4)ListView控件Items的遍历

5)foreach语句的使用

6)SaveFileDialog的使用

 public void DealExcelOut()
        ...{
            String path = Application.StartupPath;
            String path1 = path + "/tmp.xls";
            String path2 = path + "/tmp2.xls";
            File.Copy(path1, path2, true);
            File.SetAttributes(path2, FileAttributes.Normal);

            String strconn = "Provider=Microsoft.jet.OLEDB.4.0; Data Source=" + path2 + "; Extended Properties = Excel 8.0";
            OleDbConnection cn = new OleDbConnection(strconn);
            OleDbCommand cmd = new OleDbCommand();
            String cmdstr;

            //根据ListView创建VPN表
            try
            ...{
                cn.Open();
                cmd.Connection = cn;

                cmdstr = "Create Table VPN (";
                foreach (ColumnHeader ch in listView_Main.Columns)
                ...{
                    cmdstr += ch.Text + " TEXT,";
                }

                cmdstr = cmdstr.Remove(cmdstr.Length - 1);
                cmdstr += ")";
                cmd.CommandText = cmdstr;
                cmd.ExecuteNonQuery();
               
            }
            catch (Exception)
            ...{
                MessageBox.Show("读取Excel模板文件错误!");
            }

            //导出数据
            try
            ...{
                long cols = listView_Main.Columns.Count;

                foreach (ListViewItem lvi in listView_Main.Items)
                ...{
                    cmdstr = "Insert Into VPN Values (";
                    for (long i = 0; i < cols; i++)
                        cmdstr += "'" + lvi.SubItems[(Int32)i].Text + "',";

                    cmdstr = cmdstr.Remove(cmdstr.Length - 1);
                    cmdstr += ")";
                    cmd.CommandText = cmdstr;
                    cmd.ExecuteNonQuery();
                }

                cn.Close();

                //显示FileSave对话框,复制临时文件到指定文件
                DialogResult r = saveFileDialog_Excel.ShowDialog();
                if (r == DialogResult.OK)
                ...{
                    File.Copy(path2, saveFileDialog_Excel.FileName, true);
                }

                File.Delete(path2);
            }
            catch (Exception)
            ...{
                MessageBox.Show("访问Excel文件错误!");
            }


        }

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/blog51/archive/2007/08/28/1761493.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值