在delphi中如何將圖片字段的內容導入excel中、數據庫是sqlserver,字段類型是image
用的是execl1applicate對象
有的說用粘貼把圖像粘上去,但是我就是不懂用。。貼了幾個貼子,銀子花了大把,沒有“要”嗨。

解决方案 »

  1.   

    如果能先搞定EXCEL中的图片字段的类型就可以搞了。你先试试记录宏,再看看那些VBS源代码。
      

  2.   

    Sub Macro1()
    '
    ' Macro1 Macro
    ' iamfish 记录的宏 2002-12-28
    ''
        Range("C1").Select
        ActiveSheet.Pictures.Insert( _
            "C:\Documents and Settings\yzt.SJRJ\My Documents\My Pictures\0496.jpg").Select
        Range("D2").Select
        ActiveSheet.Shapes("Picture 4").Select
        Application.Goto Reference:="Macro1"
    End Sub看到这句吗?
    ActiveSheet.Pictures.Insert( _
            "C:\Documents and Settings\yzt.SJRJ\My Documents\My Pictures\0496.jpg").Select
    把那个字段存为文件,再用上面的方法插入。
      

  3.   

    Iamfish(呆鱼) 兄但我一直都找不到(ActiveSheet)這個屬性。
      

  4.   

    excelworksheet1.Range[excelworksheet1.Cells.Item[b3+9,2],excelworksheet1.Cells.Item[b3+9,2]].Select.ActiveSheet.Pictures.Insert('C:\Documents and Settings\md0011\My Documents\My Pictures\Sample.jpg').select;
    為什麼我用這句class range的select方法失敗
      

  5.   

    ActiveSheet是Excel中的!
    你在DELPHI或其它的语言中,就是你要添加的那个表!
    set ExcelAPP=CreateObject("Excel.Application")
    set ExcelSheet=ExcelApp.workBooks.Add
    可以这样认为ExcelSheet就是那个MACRO的ActiveSheet。下面是一段ASP将ACCESS导出来EXCEL的ASP代码,道理是一样的。
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>excel</title>
    </head>
    <body>
    <%
    'response.Write err.Description
    t=timer
    dbPath = Server.MapPath("Excel.mdb")
    Set oConn = Server.CreateObject("ADODB.Connection")
    oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath
    Set oRs = Server.CreateObject("ADODB.Recordset")
    strSQL="select * from Excel"
    oRs.Open strSQL,oConn,1,2
    response.Write "共 " & oRs.Fields.count & " 个字段" & oRs.recordcount & "条记录"
    response.write Rs2Excel(oRs)%><%
    Function Rs2Excel(mRs)
        response.Write vartype(mRs)
        
    set ExcelAPP=CreateObject("Excel.Application")
    'set ExcelSheet=server.CreateObject("Excel.Sheet")
    set ExcelSheet=ExcelApp.workBooks.Add
        for i=1 to oRs.Fields.count
    ExcelSheet.Worksheets(1).Cells(1,i).Value=mRs.Fields(i-1).Name
    ExcelSheet.Worksheets(1).Cells(1,i).Font.Size = 13
    ExcelSheet.Worksheets(1).Cells(1,i).Font.Bold = True
    ExcelSheet.Worksheets(1).Cells(1,i).Font.Name = "黑体"
    next
    mRs.MoveFirst
    for j=1 to mRs.recordcount     
    for i=1 to mRs.Fields.count
    ExcelSheet.Worksheets(1).Cells((j+1),i).Value=mRs.Fields(i-1).value
            next
    mRs.MoveNext
    next
    ExcelSheet.SaveAs(server.MapPath( timer & ".xls"))
    ExcelSheet.close
    ExcelApp.Quit
    set ExcelApp=nothing
    Rs2Excel=1
    end function
    %>
    <%
    oRs.close
    oConn.close
    set oConn=nothing
    response.write "执行时间:" & (timer-t)*1000 & " ms"%>
    </body>
    </html>
      

  6.   

    对了,我上面的是ASP用的VBS语言,我以前是用ASP的,刚学DELPHI,一时改不过来。另外,用这种方法将数据库导出为EXCEL,速度奇慢!130条记录*10字段,要2000ms,我同事用一个报表自带的功能,100条竟然死机!
      

  7.   

    試過了,不過我的數據導進去沒問題。。只是圖片無法導入
    圖片是保存在sqlserver當中的我是以數據流的存進去的。
      

  8.   

    chulianggao(再比天高)同志 哪三句代碼
      

  9.   

    把图片数据导出并存成文件,然后通过剪贴板粘到Excel,应该能行。但我没有试过。