我要使用ado修改Excel数据,可以吗?读取是可以的,但不知道如何修改

解决方案 »

  1.   

    你把读的代码中cell那个语句倒过来不就是写了么?
      

  2.   

            cn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strCalcExcel & ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
            sql2 = "Select * FROM   [Transfer$]"
            rs2.Open sql2, cn2, adOpenStatic, adLockOptimistic
           For j = 0 To rs2.RecordCount - 1
                If j > 5 Then
                   Exit For
               End If
              rs2.Fields(1).Value =  strScanVar(j)
                rs2.update
                rs2.MoveNext
            Next
            rs2.Close
      

  3.   

    复制了别人的,你琢磨琢磨
    Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset
        Dim strConnect As String
        
    On Error Resume Next    strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=C:\TestExcel.xls;" & _
                   "Extended Properties=""Excel 8.0;HDR=YES;IMEX=0"""
        Set cn = New ADODB.Connection
        cn.Open strConnect
        
        '创建表和字段
        cn.Execute "CREATE TABLE TestData (myField text)"
        '插入测试数据
        cn.Execute "INSERT INTO TestData(myField) VALUES ('H1 -2 * K1');"
        cn.Execute "INSERT INTO TestData(myField) VALUES ('K2');"
        cn.Execute "INSERT INTO TestData(myField) VALUES ('H10 +2 + K1');"
        cn.Execute "INSERT INTO TestData(myField) VALUES ('S1 -20 - K1');"
        cn.Execute "INSERT INTO TestData(myField) VALUES ('D / 2 * K1');"
        cn.Execute "INSERT INTO TestData(myField) VALUES ('H1 /2 / K1');"
        cn.Execute "INSERT INTO TestData(myField) VALUES ('H1 * 2 * K1');"
        cn.Execute "INSERT INTO TestData(myField) VALUES ('TEST');"
        cn.Execute "INSERT INTO TestData(myField) VALUES ('H1 + 2 - K1 * D /C');"
        '查询测试
        Set rs = cn.Execute("select myField from TestData WHERE myField not like '%[/*+-]%';")
        While Not rs.EOF
            Debug.Print rs!myField
            rs.MoveNext
        Wend
        cn.Close
        Set rs = Nothing
        Set cn = Nothing
        MsgBox "finish"
      

  4.   

    另一种写法
    Dim i As Integer
    Dim j As Integer
    Dim XlApp As New Excel.Application
    Dim xlBook As New Excel.Workbook
    Dim xlSheet As New Excel.Worksheet
    Set XlApp = CreateObject("Excel.Application")
    XlApp.Visible = True
    Set xlBook = XlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)xlSheet.Cells(j + 1, i + 1) = "123"
      

  5.   

    把FlexGrid导入到EXCELPrivate Sub Form_Load()
    MSFlexGrid1.Rows = 17
    a = (255 - 1) / MSFlexGrid1.Rows
    MSFlexGrid1.Cols = 10
    'b = (255 - 1) / MSFlexGrid1.Cols
    For i = 1 To MSFlexGrid1.Rows
    MSFlexGrid1.Row = i - 1
    For j = 1 To MSFlexGrid1.Cols
    MSFlexGrid1.Col = j - 1
    MSFlexGrid1.CellBackColor = RGB(0, 0, 255 - i * a)
    MSFlexGrid1.CellForeColor = RGB(255, 255, i * a)
    MSFlexGrid1.Text = i * j
    Next j
    Next i
    End SubPrivate Sub MSFlexGrid1_DblClick()
    Dim i As Integer
    Dim j As Integer
    Dim XlApp As New Excel.Application
    Dim xlBook As New Excel.Workbook
    Dim xlSheet As New Excel.Worksheet
    Set XlApp = CreateObject("Excel.Application")
    XlApp.Visible = True
    Set xlBook = XlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)
    xlSheet.Cells(3, 1) = "i"
    For i = 0 To MSFlexGrid1.Rows - 1
    MSFlexGrid1.Row = i
    For j = 0 To MSFlexGrid1.Cols - 1
    MSFlexGrid1.Col = j
    xlSheet.Cells(i + 3, j + 1) = MSFlexGrid1.Text
    Next j
    Next i
    Exit Sub
    End Sub
      

  6.   

    如何將 Excel 的文件导入 Access文件? 
    下面我已將程序代码做成模块,只要导入必要之参数即可!此一模块共有四个参数:
    1、sSheetName:要导出资料的文件名称 (Sheet name),例如 Sheet1
    2、sExcelPath:要导出资料的 Excel 档案路径名称 (Workbook path),例如 C:\book1.xls
    3、sAccessTable:要导入的 Access Table 名称,例如 TestTable
    4、sAccessDBPath:要导入的 Access 档案路径名称,例如 C:\Test.mdb在声明中加入以下:Private Sub ExportExcelSheetToAccess(sSheetName As String, _
    sExcelPath As String, sAccessTable As String, sAccessDBPath As String)
    Dim db As Database
    Dim rs As Recordset
    Set db = OpenDatabase(sExcelPath, True, False, "Excel 5.0")
    Call db.Execute("Select * into [;database=" & sAccessDBPath & "]." & _
    sAccessTable & " FROM [" & sSheetName & "$]")
    MsgBox "Table exported successfully.", vbInformation, "Yams"
    End Sub
    使用范例如下:將 C:\book1.xls 中的 Sheet1 导入 C:\Test.mdb 成为 TestTableExportExcelSheetToAccess "Sheet1", "C:\book1.xls", "TestTable", "C:\Test.mdb"
      

  7.   

    跑题了,不要引用Excel对象,我要保证在没有装Excel的电脑上也能修改Excel数据的
      

  8.   

    6楼的代码用update语句即可....
      

  9.   

    引用Excel对象,在没有装Excel的电脑上也能修改Excel数据的
    另外主题帖的问题没说清楚,应该一次说清楚
      

  10.   

    用Excel对象,在没有装Excel的电脑上是不能操作Excel的,我试过了
      

  11.   

    你打包的时候把这个对象所对应的DLL加进去了么?
      

  12.   

    引用的Excel.exe, 请问需要什么dll呢?
      

  13.   

    引用的是Microsoft Excel 11.0 Object library
      

  14.   

    看引用窗口里面有,在下面
    对应着一个DLL