如何将ListView中的数据导出到Excel

 我来答
匿名用户
推荐于2018-03-22
展开全部
首先要引入一个命名空间:Microsoft.Office.Interop.Excel;代码贴出。希望可以帮到楼主Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Visible = false;
excel.Application.Workbooks.Add(true);
for (int i = 0; i < this.listView1.Columns.Count; i++)//为excel添加标题
{
excel.Cells[1, i + 1] = listView1.Columns[i].Text;
}
for (int i = 0; i < listView1.Items.Count; i++)//添加每一项
{
for (int j = 0; j < listView1.Columns.Count; j++)
{
excel.Cells[i + 2, j + 1] = listView1.Items[i].SubItems[j].Text;
}
}
excel.DisplayAlerts = false;//和下面这个通常是一起用的
excel.AlertBeforeOverwriting = false;//设置禁止弹出保存和覆盖的询问提示框
excel.Application.Workbooks[1].Save();
excel.Application.Save("C:\\123.xsl");//保存路径。可以自定义,也可以通过savedialog对话框获取保存路劲
eeeolol
2016-08-12 · TA获得超过8244个赞
知道大有可为答主
回答量:5827
采纳率:15%
帮助的人:650万
展开全部
Private Sub UserForm_Initialize()
'Private Sub Form_Load()
ListView1.ListItems.Clear '清空列表
ListView1.ColumnHeaders.Clear '清空列表头
ListView1.View = lvwReport '设置列表显示方式
ListView1.Gridlines = True '显示网络线
ListView1.LabelEdit = lvwManual '禁止标签编辑
ListView1.FullRowSelect = True '选择整行
End Sub
'=====================================
sub 从工作表加入数据()
'循环添加列头
For i = 1 To 4 'ColumnHeaders从1开始
ListView1.ColumnHeaders.Add i, , Sheets("cj").Cells(1, i) '序号i可不用,key不用,列头显示值,列宽度
Next
a = Sheets("cj").[a65536].End(xlUp).Row
For x = 2 To a
'For y = 1 To 3
ListView1.ListItems.Add , , Sheets("cj").Cells(x, 1).Value
'ListView1.ListItems(x - 1).Text = Sheets("cj").Cells(x, 1).Value
'ListItems从1开始,SubItems从1开始
'同行不同列(除了第1列text),分开写成N行代码
ListView1.ListItems(x - 1).SubItems(1) = Sheets("cj").Cells(x, 2).Value 'excel第2列
ListView1.ListItems(x - 1).SubItems(2) = Sheets("cj").Cells(x, 3).Value
ListView1.ListItems(x - 1).SubItems(3) = Sheets("cj").Cells(x, 4).Value
'Next y
Next x
end sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式