Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: aprire excel

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    aprire excel

    ho questa script per aprire un foglio excel e funziona.
    <script language="vbscript">
    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Application.Visible = True
    Set ExcelBook = ExcelApp.Workbooks.Add

    il problema è che devo riempirlo con i dati di una tabella.
    e per scrivere la cella cosi scrive
    ExcelBook.Worksheets(1).Cells(1, 3).Value="prova"

    il problema è che devo riempirlo con i dati di una tabella.
    1° ho scritto lo script su asp ma mi da errore dicendo che non ho le autorizzazioni CreateObject.

    2° ho provato anche ad aprire il database con asp. e poi:
    <script language="vbscript">
    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Application.Visible = True
    Set ExcelBook = ExcelApp.Workbooks.Add
    dim i
    dim a
    a="<%=rs.recordcount%>"
    for i=1 to a
    cod="<%=rs("cod")%>"
    ExcelBook.Worksheets(1).Cells(i, 3).Value=cod
    <%rs.MoveNext%> ?????????????????????
    next
    </script>
    ma non mi funziona rs.movenext

  2. #2
    l'approccio è sbagliato, perché implica che sul server sia montato Excel. Usa invece ADO (cerca nel forum, se ne è parlato diverse volte)

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    sul server è istallato excel.

  4. #4
    è una "bad practice" ma fate pure come volete.

    che vuol dire "ma non mi funziona rs.movenext"???

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    vuol dire che in a mi scrive 3000 record
    su cod mi scrive il codice del campo record
    , ma poi mi scrive in una tabella excel 3000 volte il primo record.
    Non incrementa il record

    a="<%=rs.recordcount%>"
    for i=1 to a
    cod="<%=rs("cod")%>"
    ExcelBook.Worksheets(1).Cells(i, 3).Value=cod
    <%rs.MoveNext%> ?????????????????????
    next

  6. #6
    scusa, ma useresti rs.movenext per muoverti all'interno del foglio excel?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    hai ragione. ma come si fa?

  8. #8

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    <%
    Set Connection11 = Server.CreateObject("ADODB.Connection")
    Connection11.Open Application("Connection11_ConnectionString")

    dim rs

    sql="SELECT * FROM tabella"
    set rs=server.createobject("adodb.recordset")
    rs.open sql,connection11,3,3

    %>
    <script language="vbscript">

    Set ExcelApp = CreateObject("Excel.Application")
    ExcelApp.Application.Visible = True

    Set ExcelBook = ExcelApp.Workbooks.Add
    dim i
    dim a

    a =<%=rs.recordcount%>
    ExcelBook.Worksheets(1).Cells(1, 3).Value=a

    for i=1 to a
    cod=<%=rs("cod")%>

    ExcelBook.Worksheets(1).Cells(i, 1).Value=cod

    <%rs.MoveNext%>
    next


    ExcelBook.Worksheets(3).Delete
    ExcelBook.Worksheets(2).Delete


    ExcelBook.SaveAs Server.MapPath("FileExcel.xls")

    excelApp.Application.Quit
    Set ExcelApp = Nothing

    </script>

  10. #10
    invece di

    codice:
    for i=1 to a 
       cod=<%=rs("cod")%>
       ExcelBook.Worksheets(1).Cells(i, 1).Value=cod 
       <%rs.MoveNext%>
    next
    prova con
    codice:
    i=1
    <% do while not rs.eof %>
       i=i+1
       cod=<%=rs("cod")%>
       ExcelBook.Worksheets(1).Cells(i, 1).Value=cod 
       <% rs.MoveNext %>
    <% loop %>
    sempreché sia corretto intercalare <script> e <%...%>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.