Newsgroup: it.comp.www.asp
Titolo: Generazione foglio elettronico da tabella SQL Server

Ho provato a a realizzare una pagina asp che generi un foglio elettronico a
partire da un recordset ottenuto da una tabella di SQL Server. Il mio
problema è che non riesco a realizzare un file che sia leggibile sia con
Excel che con OpenOffice.org Calc. Qualcuno sa aiutarmi?
Grazie in anticipo a chiunque sappia aiutarmi.

Come glielo fai generare questo foglio elettronico?
Soprattutto, questo openoffice che formati supporta?
--
Alessandro
UGIdotNET - 
http://www.ugidotnet.org


Moderatore di it.comp.www.asp
http://www.aspitalia.com/
 Enjoy the .NET community!
http://www.dev2dev.it/
 La rete ha connesso nuove particelle!

 flessibilità dell'approccio HTML.
Ma non gli conviene creare una Excel.Application e fare una SaveAs in
formato nativo Excel?
Saluti
Massimo

 Excel che con OpenOffice.org Calc. Qualcuno sa aiutarmi?
Prova a buttare un occhio qui: 
http://excelwriter.softartisans.com
, è a
pagamento ma secondo me ne vale la pena.
--
Filippo Di Blasi 
filippo...@puntoinformatico.it
http://puntoinformatico.it
 <-- E-shop informatico
http://puntoinformatico.it/usato
 <-- Usato
http://puntoinformatico.it/servizi
 <-- Servizi web
http://puntoinformatico.it/news
 <-- News & Glossario

 formato nativo Excel?
no, per svariati motivi.
creare un flusso HTML è un giochetto da ragazzi, non devi aprire nulla sul
server (e francamente office su un server non lo installerei...) ed hai
performance imparagonabili, ovviamente.


 formato nativo Excel?
Ti ringrazio per l'indicazione. Tra le varie strade intraprese sembra essere
la piu' valida. Preciso che non ho una grossa conoscenza di asp e vbscript e
cerco di adattare al mio caso ciò che trovo in rete. Ho utilizzato
l'articolo "Creare report in Excel esportando dati da SQL Server" trovato in
freeasp.html.it
. Prima di chiedervi aiuto avevo pensato di non intraprendere
questa strada, perchè volevo cercare di non usare l'Excel essendovi scritto
che deve essere installato Excel sul Pc su cui deve girare lo script.
A questo punto mi viene da chiedere: "E' necessario installare l'Excel o
sarebbe sufficiente installare il visualizzatore free di Excel fornito dalla
Microsoft stessa?"

 flessibilità dell'approccio HTML.
Primo tentativo:
          Set fs = Server.CreateObject("Scripting.FileSystemObject")
          Set MyFile = fs.CreateTextFile(filename, True)
          .....
          strLine="" 'Initialize the variable for storing the filednames
          For each x in rs.fields
            strLine= strLine & 
x.name
 & chr(9)
          Next
         'Write this string into the file
          MyFile.writeline strLine
         'Retrieve the values from the database and write into the database
          Do while Not rs.EOF
          strLine=""
          for each x in rs.Fields
            strLine= strLine & x.value & chr(9)
          next
          MyFile.writeline strLine
          rs.MoveNext
       Loop
       'Clean up
       MyFile.Close
E' letto bene da Excel, ma OpenOffice lo apre come file di testo e non come
foglio elettronico.
Secondo tentativo:
Ho modificato il listato precedente producendo un file di output in cui la
tabella è formattata come tabella html, ma il file viene letto bene da
OpenOffice che lo tratta come foglio elettronico con tabella html e male da
Excel che mi inserisce tutto in colonna A (anche i tag HTML di formattazione
della tabella).
Terzo tentativo:
Ho provato a generare un file .csv adattando al mio caso lo script
"Convertire i dati da Access ad Excel " che ho trovato su Aspitalia.com. Il
file che ottengo è una sequenza di stringhe (estratte dal mio db) e inserite
nella casella A1 (in Excel). Con OpenOffice non visualizzo niente.
Altri tentativi di adattamento delle strade intraprese...

 ebbene, da quel che mi risulta Excel lo supporta, openoffice no.
Tornando al secondo tentativo di cui prima posso solo dire che ho commesso
un'errore nel generare la tabella. Mi ero dimenticato i tag <table> e
</table>. OpenOffice è un po' piu' elastico "e me l'ha data per buona". Ora
funziona con entrambi. Grazie a tutti.