面代码演示了如何将ListView中的数据导出到Excel的方法,例子代码中还包括了一些编程中的其它小方法,比如:
public
void
DealExcelOut()
{
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
=
new
OleDbConnection(strconn);
OleDbCommandcmd
=
new
OleDbCommand();
Stringcmdstr;
//
根据ListView创建VPN表
try
{
cn.Open();
cmd.Connection
=
cn;
cmdstr
=
"
CreateTableVPN(
"
;
foreach
(ColumnHeaderch
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
(ListViewItemlvi
in
listView_Main.Items)
{
cmdstr
=
"
InsertIntoVPNValues(
"
;
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对话框,复制临时文件到指定文件
DialogResultr
=
saveFileDialog_Excel.ShowDialog();
if
(r
==
DialogResult.OK)
{
File.Copy(path2,saveFileDialog_Excel.FileName,
true
);
}
File.Delete(path2);
}
catch
(Exception)
{
MessageBox.Show(
"
访问Excel文件错误!
"
);
}
}
1)文件的拷贝复制方法
2)文件属性的修改
3)ListView控件Columns的遍历
4)ListView控件Items的遍历
5)foreach语句的使用
6)SaveFileDialog的使用






































































