如何写入现有excel文件

如何写入现有excel文件,excel,vb.net,Excel,Vb.net,这里没有。我在2011年参加了一个编码课程,学习了一些VB5。需要此代码的帮助。它不会写入“C:\Users\Dibs\Documents\Sample32.xlsx”。它也没有抛出任何错误。所以没有什么需要调试的 这段代码用于打开一个新的Excel文件,但我需要写入现有的Excel文件。我做错了什么 我需要和这家伙一样的帮助 范围对象希望数组的下限为1-而不是零。此外,接收范围的尺寸必须与阵列的尺寸匹配。为此,您需要手动创建这样的数组 例如: Option Infer On Private

这里没有。我在2011年参加了一个编码课程,学习了一些VB5。需要此代码的帮助。它不会写入
“C:\Users\Dibs\Documents\Sample32.xlsx”
。它也没有抛出任何错误。所以没有什么需要调试的

这段代码用于打开一个新的Excel文件,但我需要写入现有的Excel文件。我做错了什么

我需要和这家伙一样的帮助


范围
对象希望数组的下限为1-而不是零。此外,接收范围的尺寸必须与阵列的尺寸匹配。为此,您需要手动创建这样的数组

例如:

Option Infer On

Private Sub TestExcel()

    Dim xlApp As New Excel.Application With {.Visible = True}
    Dim xlBook = xlApp.Workbooks.Add()
    Dim xlSheet = DirectCast(xlBook.Sheets(1), Excel.Worksheet)

    '// Create array with custom lower bounds
    '// 5 = number of rows
    '// 2 = number of columns
    '// {1, 1} = lower bounds for rows and columns, respectively
    Dim arr = Array.CreateInstance(GetType(Integer), {5, 2}, {1, 1})
    arr.SetValue(1, 1, 1)   '//Assign '1' to first row, first column
    arr.SetValue(50, 1, 2)  '//Assign '50' to first row, second column
    arr.SetValue(2, 2, 1)   '//Assign '2' to second row, first column
    arr.SetValue(100, 2, 2) '//Assign '1' to second row, second column

    '// Transfer array to sheet
    xlSheet.Range("A1:B5").Value = arr

    ' Other stuff - saving, closing etc.

End Sub

看看EPPlus(),它使读取/写入xlsx文件变得非常简单,而且不需要处理所有Excel应用程序。对于当前的问题,您应该检查数组的大小,Excel行/列计数从1开始,而不是从0开始。“它也不会引发任何错误。因此没有什么需要调试的。”-逻辑错误通常不会抛出编译错误或运行时错误,但它们确实需要调试。我将看一看EPPULS@大卫:是的,我会换的,但这不是我需要的帮助。“xlwrkbks=objxlapp.Workbooks.Open(“C:\Users\Dibs\Documents\Sample32.xlsx”)”我的问题在这一行。我确实在我的代码中留下了一条注释,在那里我遇到了麻烦。明白了。这将在以后有所帮助,我需要这部分代码的帮助。(我正在编写一个金融应用程序),我需要前12行代码的帮助。数组是填充代码。我在代码中留下了一条注释,我的问题就在这里。“xlwrkbks=objxlapp.Workbooks.Open(“C:\Users\Dibs\Documents\Sample32.xlsx”)”@Dibs-xlApp as>>NEW@DavidSdot我会尝试一下,我以前在这里有过它,但我删除了那一行,因为我认为它是用于启动一个全新的excel文件,不能用于写入现有文件。但它只是启动了Excel应用程序,对吗?@DavidSdot就像这一行做的相反。objxlapp.Quit()
Option Infer On

Private Sub TestExcel()

    Dim xlApp As New Excel.Application With {.Visible = True}
    Dim xlBook = xlApp.Workbooks.Add()
    Dim xlSheet = DirectCast(xlBook.Sheets(1), Excel.Worksheet)

    '// Create array with custom lower bounds
    '// 5 = number of rows
    '// 2 = number of columns
    '// {1, 1} = lower bounds for rows and columns, respectively
    Dim arr = Array.CreateInstance(GetType(Integer), {5, 2}, {1, 1})
    arr.SetValue(1, 1, 1)   '//Assign '1' to first row, first column
    arr.SetValue(50, 1, 2)  '//Assign '50' to first row, second column
    arr.SetValue(2, 2, 1)   '//Assign '2' to second row, first column
    arr.SetValue(100, 2, 2) '//Assign '1' to second row, second column

    '// Transfer array to sheet
    xlSheet.Range("A1:B5").Value = arr

    ' Other stuff - saving, closing etc.

End Sub