由于这个特殊问题,我无法获得将Access中导出的数据附加到Excel的代码。我创建了一个简单的Access数据库,其中包含一些表单上显示的数据。之后,可以使用代码将显示的记录导出到Excel。
到目前为止一切顺利。但是当我导出下一条记录时,它会覆盖Excel中第一行的先前导出的数据。我希望代码附加到下一行,依此类推。
我找到了一些关于如何使用“ActiveCell.Value”和“ActiveCell.Offset”进行追加的主题,但我的知识太有限了,无法使用代码。我认为我得到它的那一刻,VBE带来了错误。我似乎无法弄清楚这一点。
it "renders error in json" do
expect(controller).to receive(:render).with(
json: { error: "some error" },
status: :unprocessable_entity
).at_least(:once)
post :create, price_patch_upload: { upload: "upload" }, format: :json
end
答案 0 :(得分:1)
我已经尝试了这个并没有问题所以假设你有一个对正确的excel库的引用,你能看出它是否有效吗?
Sub Test()
Dim oExcel As Excel.Application
Dim oExcelWrkBk As Excel.Workbook
Dim oExcelWrSht As Excel.Worksheet
'Start Excel
On Error Resume Next
Set oExcel = GetObject(, "Excel.Application")
If Err <> 0 Then
Err.Clear
On Error GoTo Error_Handler
Set oExcel = CreateObject("Excel.Application")
Else
On Error GoTo Error_Handler
End If
oExcel.ScreenUpdating = False
oExcel.Visible = False 'This is false by default anyway
Set oExcelWrkBk = oExcel.Workbooks.Open("C:\test.xlsx")
Set oExcelWrSht = oExcelWrkBk.Sheets(1)
oExcelWrSht.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = "Test1"
oExcelWrSht.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = "Test2"
oExcelWrSht.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0) = "Test3"
oExcelWrSht.Range("A1").Select
oExcelWrkBk.Save
oExcel.ScreenUpdating = True
oExcel.Visible = True
Exit_Point:
Set oExcelWrSht = Nothing
Set oExcelWrkBk = Nothing
Set oExcel = Nothing
Exit Sub
Error_Handler:
MsgBox Err & " - " & Err.Description
GoTo Exit_Point
End Sub