下面代码演示了如何将ListView中的数据导出到Excel的方法,例子代码中还包括了一些编程中的其它小方法,比如:
1)文件的拷贝复制方法
2)文件属性的修改
3)ListView控件Columns的遍历
4)ListView控件Items的遍历
5)foreach语句的使用
6)SaveFileDialog的使用
publicvoidDealExcelOut()
...{
Stringpath=Application.StartupPath;
Stringpath1=path+"\tmp.xls";
Stringpath2=path+"\tmp2.xls";
File.Copy(path1,path2,true);
File.SetAttributes(path2,FileAttributes.Normal);
Stringstrconn="Provider=Microsoft.jet.OLEDB.4.0;DataSource="+path2+";ExtendedProperties=Excel8.0";
OleDbConnectioncn=newOleDbConnection(strconn);
OleDbCommandcmd=newOleDbCommand();
Stringcmdstr;
//根据ListView创建VPN表
try
...{
cn.Open();
cmd.Connection=cn;
cmdstr="CreateTableVPN(";
foreach(ColumnHeaderchinlistView_Main.Columns)
...{
cmdstr+=ch.Text+"TEXT,";
}
cmdstr=cmdstr.Remove(cmdstr.Length-1);
cmdstr+=")";
cmd.CommandText=cmdstr;
cmd.ExecuteNonQuery();
}
catch(Exception)
...{
MessageBox.Show("读取Excel模板文件错误!");
}
//导出数据
try
...{
longcols=listView_Main.Columns.Count;
foreach(ListViewItemlviinlistView_Main.Items)
...{
cmdstr="InsertIntoVPNValues(";
for(longi=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对话框,复制临时文件到指定文件
DialogResultr=saveFileDialog_Excel.ShowDialog();
if(r==DialogResult.OK)
...{
File.Copy(path2,saveFileDialog_Excel.FileName,true);
}
File.Delete(path2);
}
catch(Exception)
...{
MessageBox.Show("访问Excel文件错误!");
}

}
本文介绍了一种从ListView控件导出数据到Excel的方法,包括创建Excel表、插入数据及文件操作等步骤,并附带了完整的示例代码。
1721

被折叠的 条评论
为什么被折叠?



