vb.net 教程 10-2 Excel操作2 Excel文件的保存

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

如果是一般的打开某个Excel文件修改后保存到原文件或者新的文件,在 Excel.Application.Quit() 前直接使用
Workbook.Save() 或 Workbook.SaveAs(文件名称) 就可以了。
但是对于要把数据(并非通过打开Excel文件获得的数据)保存成Excel文件,那么可以按照以下步骤:
1、新建了一个Application对象:
Dim xls As New Excel.Application
2、新建工作簿并添加到创建的Application对象:
        Dim Wbook As Excel.Workbook
        Wbook = xls.Workbooks.Add
3、  使用原有的工作表,一般默认创建Wbook后会有sheet1、sheet2、sheet3三个工作表,可以使用上一节方法指定一个工作表写数据。
或者新建工作表:
       Dim Wsheet As Excel.Worksheet
        Wsheet = Wbook.Worksheets.Add
并按需要指定工作表名称,如不指定,那么新工作表默认名称为 Sheet4:
        Wsheet.Name = "电脑销售表"
4、读取现有数据并写入单元格,需要注意的是Excel单元格的起始序号为1,而一般vb.net中数组等的起始序号为0:
        Wsheet.Cells(i行号,列号).value = "值"
5、保存工作簿
       Workbook.SaveAs(文件名称)
6、最后,别忘了关闭打开的 Excel:
       Excel.Application.Quit()
具体代码如下:

    '另存为
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim filename As String
        Dim sfd As New SaveFileDialog()
        sfd.Filter = "表格文件|*.xls;*.xlsx"
        If sfd.ShowDialog <> DialogResult.OK Then
            Exit Sub
        Else
            filename = sfd.FileName
        End If

        Dim xls As New Excel.Application
        Dim Wbook As Excel.Workbook
        Wbook = xls.Workbooks.Add

        Dim Wsheet As Excel.Worksheet
        Wsheet = Wbook.Worksheets.Add
        Wsheet.Name = "电脑销售表"

        If lvExcel.Columns.Count > 1 Then
            For i As Integer = 0 To lvExcel.Columns.Count - 1
                Wsheet.Cells(1, i + 1).value = lvExcel.Columns(i).Text
            Next
        End If

        If lvExcel.Items.Count > 0 Then
            For i As Integer = 0 To lvExcel.Items.Count - 1
                Dim pos As Integer = 0
                For Each subLvText As ListViewItem.ListViewSubItem In lvExcel.Items(i).SubItems
                    pos += 1
                    If subLvText.Text = "(空)" Then
                        Wsheet.Cells(i + 2, pos).value = ""     '+2是因为excel表格第一行从1开始,而表头已经占了第一行,所以写入的数据从第2行开始。
                    Else
                        Wsheet.Cells(i + 2, pos).value = subLvText.Text
                    End If
                Next
            Next
        End If

        Wbook.SaveAs(filename)
        xls.Quit()

        MessageBox.Show("保存完毕")
    End Sub

保存的Excel文件如图:

 

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看 vb.net 教程 目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值