Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Ciclo asp su file excel

    Ciao di nuovo.

    Ho delle difficoltà a recuperare tramite un ciclo i records di un dbase, corrispondenti ad un certo criterio ed a esportarli in formato excel; in pratica lo script esportato in excel non recupera nulla.
    Questo è il codice e vi ringrazio anticipatamente per l'attenzione e l'eventuale suggerimento:
    codice:
    nomefile=replace(nome," ","_")
    
    set fso = createobject("scripting.filesystemobject")
    Set act = fso.CreateTextFile(server.mappath("public/"& nomefile & "-"& day(date())& month(date())& year(date()) &".xls"), true)
    
    act.WriteLine "<html xmlns:x=""urn:schemas-microsoft-com:office:excel"">"
    act.WriteLine "<head>"
    act.WriteLine "<!--[if gte mso 9]><xml>"
    act.WriteLine "<x:ExcelWorkbook>"
    act.WriteLine "<x:ExcelWorksheets>"
    act.WriteLine "<x:ExcelWorksheet>"
    act.WriteLine "<x:Name>"& nomefile &"</x:Name>"
    act.WriteLine "<x:WorksheetOptions>"
    act.WriteLine "<x:Print>"
    act.WriteLine "<x:ValidPrinterInfo/>"
    act.WriteLine "</x:Print>"
    act.WriteLine "</x:WorksheetOptions>"
    act.WriteLine "</x:ExcelWorksheet>"
    act.WriteLine "</x:ExcelWorksheets>"
    act.WriteLine "</x:ExcelWorkbook>"
    act.WriteLine "</xml>"
    act.WriteLine "<![endif]--> "
    act.WriteLine "</head>"
    
    sql = "SELECT * FROM TABELLASQL WHERE ID_NOME = "& NOME0 &" order by id"
    
    set rs = server.createObject("ADODB.Recordset")
    rs.open sql, cn, 1, 3
    	
    if rs.eof then
    response.write ("kO") & "
    "
    else
    While Not rs.eof	
    	
    act.WriteLine "<body>"
    act.WriteLine "<table>"
    act.WriteLine "<tr>"
    act.WriteLine "<td>"
    act.WriteLine "NOME:"
    act.WriteLine "<td>"
    act.WriteLine rs("NOME")
    
    act.WriteLine "</td>"
    act.WriteLine "</table>"
    act.WriteLine "</body>"
    act.WriteLine "</html>"
    	
    rs.MoveNext
    wend
    
    end if
    rs.close
    cn.close
    set rs = nothing
    set cn = Nothing

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Il file Excel viene creato vuoto ma viene creato?
    Sicuro che la query funzioni, o meglio che recuperi qualcosa?

  3. #3
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Allora, mentre aspettavo ho fatto alcuni passi avanti...

    Il file excel viene creato regolarmente e scritto sul server, secondo quanto recuperato dalla query.

    Il problema è che nel file excel generato mi ritrovo solo i dati del record numero 1 del dbase e non quelli successivi.

    Grazie

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se non fai un Loop sempre e solo il primo record hai.

    Roby

  5. #5
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Ho capito adesso va bene.
    Posso fare un'altra domanda:?

    -In questo script il file generato in excel è posizionato verticalmente; come faccio per posizionarlo orizzontalmente?

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    E' una proprietà del file excel.
    Fai il tuo template come ti piace, salvalo come pagina HTML e aprilo con Blocco Note... Noterai tute le particolarità che potrai gestire...

    Roby

  7. #7
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    ti ringrazio ma non riesco; pur avendo seguito le tue istruzioni ed aver inserito il codice seguente il foglio continua ad essere generato in verticale:
    codice:
    act.WriteLine "<html xmlns:x=""urn:schemas-microsoft-com:office:excel"">"
    act.WriteLine "<head>"
    act.WriteLine "<!--[if gte mso 9]><xml>"
    act.WriteLine "<x:ExcelWorkbook>"
    act.WriteLine "<x:ExcelWorksheets>"
    act.WriteLine "<x:ExcelWorksheet>"
    act.WriteLine "<x:Name>"& nome &"</x:Name>"
    act.WriteLine "<x:WorksheetOptions>"
    act.WriteLine "<x:Print>"
    act.WriteLine "<x:ValidPrinterInfo/>"
    act.WriteLine "<x:Horizontal/>"
    act.WriteLine "</x:Print>"
    act.WriteLine "</x:WorksheetOptions>"
    act.WriteLine "</x:ExcelWorksheet>"
    act.WriteLine "</x:ExcelWorksheets>"
    act.WriteLine "</x:ExcelWorkbook>"
    act.WriteLine "</xml>"
    act.WriteLine "<![endif]--> "
    act.WriteLine "</head>"
    poi un'altra cosa, se volessi formattare le celle del file excel direttamente da asp (bordi e sfondo) come devo fare? ho provato con varie sintassi, ma funziona solo l'allineamento del testo nella celle e il formato carattere.
    codice:
    act.WriteLine "<font size='3'><center>ANNO 2004</center></font>"

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi generare PRIMA il tuo template formattato e poi lavorarci scriverci dentro con ASP.

    Roby

  9. #9
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    si questo l'ho già fatto.
    ma il foglio excel si genera senza alcuna formattazione se noin con quella scritta con asp.

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    No.
    Devi prima farti l'excel, prendere la formattazione del template e metterla nel file asp.

    Roby

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 © 2025 vBulletin Solutions, Inc. All rights reserved.