Hej! Hej! Hej!SQL-data -> Excel
Jag undrar om någon kan hjälpa mig med att svara svaret jag får med en select
sats till ett .xls dokument...
Jag gör alltså en selectsats och får ett recordset som jag i asp-koden vill spara
till en xls-fil... jag vet att man kan göra detta via SQL-server med export data
men i detta fall vill jag göra olika select-satser och sedan spara detta i ett excel-
dokument... någon som kan hjälpa mig med det?
Jag ska skriva detta i asp.net...
Mvh
Johan.NETSv: SQL-data -> Excel
Jag skulle nog göra XML av datan först & sen spara in det i Excel på ngt sätt.
Hur man sparar från XML till XLS vet jag inte, men vad det DB-XML exporten anbelangar, så gör du såhär:
<code>
'Skapa Connection
Set c = Server.CreateObject("ADODB.Connection")
c.Open "odbcName", "", ""
'Skapa Recordset & XML-DOM
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
Set objXML = server.CreateObject("Microsoft.XMLDOM")
'SELECTA ur databasen
objRS.Open "SELECT * FROM products", c
'Spara XML in i objXML
objRS.Save objXML, adPersistXML
'Skapa Filsystemobjekt & spara XML i en fil
dim fs, f
set fs = Server.CreateObject("Scripting.FileSystemObject")
set f1 = fs.CreateTextFile(Server.MapPath("./db.xml"),true,true)
f1.Write(objDom.xml)
f1.Close
set f1=nothing
set fs=nothing
'Städa upp lite
objRS.Close
Set objRS = Nothing
c.close
</code>Sv: SQL-data -> Excel
Varför använda ASP när det är ASP.NET?
Det finns olika alternativ för att lösa detta.
Här följer ett relativt enkelt sätt.
1. Skapa ett Dataset eller en DataTable som fylls med den data som SQL-syntaxen genererar.
2. Skapa en HTML-tabell från detta. (eventuellt via DataGrid)
3a. Spara detta till en fil på webbservern (myfile.xls)
3b. Presentera direkt i webbläsaren som automatiskt öppnar Excel. (kräver att användaren har Excel)
Detta kräver att man lägger till
<code>
Response.AddHeader("content-type", "application/vnd.ms-excel")
</code>
innan sidan presenteras för användaren.
Kan utveckla denna förenklade beskrivning.
/Håkan