使用VB.NET和Interop库进行Excel数据操作

时间:2018-06-30 02:08:37

标签: excel vb.net

我是VB.NET的新手,正尝试制作一个Windows窗体应用程序,以使用模板将数据从excel主工作簿复制到新文件。使用以下代码,我可以使用模板创建新文件

我现在要做的是从主Excel文件中复制数据并将其粘贴到我根据Windows窗体中的复选框基于范围选择创建的新文件中。数据分散在主工作簿中不同的工作表,我不知道从哪里开始或如何开始。任何帮助或建议,将不胜感激。 例如:如果从表单中选择工作表1和工作表2,则代码应首先从工作表1中复制数据,然后在其下方复制工作表2中的数据,依此类推

Imports Excel = Microsoft.Office.Interop.Excel

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim xlApp As Excel.Application = New Microsoft.Office.Interop.Excel.Application()
    If xlApp Is Nothing Then
        MessageBox.Show("Excel is not properly installed!!")
        Return
    End If

    Dim xlWorkBook As Excel.Workbook
    Dim xlWorkSheet As Excel.Worksheet
    Dim misValue As Object = System.Reflection.Missing.Value

    xlWorkBook = xlApp.Workbooks.Add("C:\Source.CSV")


    xlWorkBook.SaveAs("C:\New.CSV", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue,
     Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue)
    xlWorkBook.Close(True, misValue, misValue)
    xlApp.Quit()

    releaseObject(xlWorkSheet)
    releaseObject(xlWorkBook)
    releaseObject(xlApp)

    MessageBox.Show("Excel file created , you can find the file C:\New.CSV")
End Sub

1 个答案:

答案 0 :(得分:2)

我已经完全修改了代码。

因此,function listFilesInFolder(folderName) { var sheet = SpreadsheetApp.getActiveSheet(); sheet.appendRow(["Name", "File-Id"]); //change the folder ID below to reflect your folder's ID (look in the URL when you're in your folder) var folder = DriveApp.getFolderById("ID"); var contents = folder.getFiles(); var cnt = 0; var file; while (contents.hasNext()) { var file = contents.next(); cnt++; data = [ file.getName(), file.getId(), ]; sheet.appendRow(data); }; }; 函数接受字符串数组-工作表名称。您可以根据您的复选框生成它,并将其传递给此函数。所有的解释都放在注释中。

TestExcel