怎样将listview中的数据导出为Excel文件 大哥大姐们,我用listview显示出了数据库中的数据,现在想把listview中的数据保存为excel文件,请问怎样能实现,急!!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己用excel对象一个一个的写啦 自己用excel对象一个一个的写啦 我不会写这个的代码呀,能写个实例出来吗?谢谢 http://community.csdn.net/Expert/topic/4570/4570895.xml?temp=.5917932这个和你那个差不多,稍稍改一下就可以了 用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月份工资$'] 我自己写的,但只能保存在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(); } } C#怎么设置鼠标单击事件的可用与不可用 为什么使用下面的代码进行二维码打印总是竖着打印 而不横着打印呢? 请会学.NET又会JAVA的高手,求指教。 怎么关闭全部线程程序,让它重新启动! winform中Combobox模糊下拉 Winform中使用图表控件MSChart的问题? 在线等,高手请进!!! c# contextMenu 动态添加二级菜单点击问题! 安装VS.NET 2005 MSDN出问题.请帮助! 已辞职!哪位广州的朋友能否给介绍一份工作? 各位前辈,,用C#开发的软件能在哪几种操作系统上运行呀?? WindowsXp sp2默认安装.Net Framework吗??
我不会写这个的代码呀,能写个实例出来吗?
谢谢
这个和你那个差不多,稍稍改一下就可以了
不过用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月份工资$']
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();
}
}