大哥大姐们,我用listview显示出了数据库中的数据,现在想把listview中的数据保存为excel文件,请问怎样能实现,急!!谢谢!

解决方案 »

  1.   

    自己用excel对象一个一个的写啦
      

  2.   

    自己用excel对象一个一个的写啦 
    我不会写这个的代码呀,能写个实例出来吗?
    谢谢
      

  3.   

    http://community.csdn.net/Expert/topic/4570/4570895.xml?temp=.5917932
    这个和你那个差不多,稍稍改一下就可以了
      

  4.   

    用EXCEL对象应该是功能最强的了,
    不过用OLEDB来操作EXCEL非常方便,就是限制颇多。
    我用过OLEDB类来处理过,方法为:1.自己先在EXCEL中建一个只有1列的“空”XLS文件(姑且取名为empty.xls)
    为什么需要1列呢?因为我在实践中发现,如果工作表没有任何内容,那么用ALTER TABLE ADD COLUMN 命令就不能插入字段了。2.保存数据前,先将empty.xls复制到用户需要保存的文件名(例如save.xls)3.使用数据库操作命令来操作表结构:
    CREATE TABLE 创建表(如果不包含字段列表,会创建失败)
    DROP TABLE 删除表(实际上,总是清空工作表的内容,而不是将它删除)
    ALTER TABLE 修改表结构4.插入记录到表中
    INSERT INTO TableName (FieldList) VALUE (ValueList)5.删除表中的记录(EXCEL似乎不支持这个命令,反正我从来没有成功过)
    DELETE TableName WHERE Filter5.选取EXCEL工作表的行(注意:只支持给字段取别名,不能给表取别名)
    SELECT FieldList FROM TableName6.工作表名在SQL语句中对应的表名:
    (1)如果不包含汉字和特殊字符,只要在工作表名后加个$就可以了,例如:sheet1 => sheet1$
    (2)如果包含汉字等,需要在前面加单引号,后面加单引号和$,例如: 1月份工资 => '1月份工资$'
    (3)我总是习惯把表名用中括号包围起来,无论是否需要。
    例如:sheet1 => [sheet1$]      1月份工资 =>[ '1月份工资$']
      

  5.   

    我自己写的,但只能保存在excel第一列里面,而不能显示在多列
    private void lout_Click(object sender, System.EventArgs e)
    {
    System.IO.StreamWriter myStream;
                SaveFileDialog savehd = new SaveFileDialog();
                savehd.Filter = "Excel Files (*.xls)|*.xls|Txt File(*.txt)|*.txt|All files (*.*)|*.*";
    savehd.RestoreDirectory = true;
    savehd.Title = "保存话单";
    savehd.ShowDialog();
    if(savehd.ShowDialog() == DialogResult.OK)
    {
    filepath = savehd.FileName;
    myStream = new StreamWriter(filepath);

    for(int i=0;i<lv.Items.Count;i++)
    {
    for(int j=0;j<lv.Columns.Count;j++)
    {
    myStream.Write(lv.Items[i].SubItems[j].Text.Trim());
    myStream.Flush();
    }
    myStream.WriteLine();
    }

    myStream.Close();
    }
    }