Avatar billede zetn Nybegynder
31. januar 2006 - 00:24 Der er 4 kommentarer

Eksportering til Excel

Hej, jeg har lidt problemer med nedenstående kode. Den virker fint hvis "dato_from" passer til en ordre i databasen, men den laver en fil uden indhold hvis man fx tager fra dato 01-01-2006 til 31-01-2006, og der så derimellem er en ordre med dato 15-01-2006. Nogen der kan hjælpe?

<%
Response.Buffer = True
Response.ContentType="application/vnd.ms-excel"
Response.AddHeader "content-disposition",  "attachment; filename=" & Request.Querystring("date_from") & "-" & Request.Querystring("date_to") & ".xls"

strSQL = "Select * From orders Where error = FALSE AND date BETWEEN '" & Request.Querystring("date_from") & "' AND '" & Request.Querystring("date_to") & "'"
Set rs = Conn.Execute(strSQL)


With Response

    .Write "<TABLE>"

Do While Not rs.eof

   
For i = 1 To FormatNumber(Cint(rs("amount")),0)

    .Write "<TR>"
    .Write "<TD>" & rs("phoner_id") & "    </TD>"
    .Write "<TD>" & rs("date") & "    </TD>"
    .Write "<TD>" & rs("name_1") & "    </TD>"
    .Write "<TD>" & rs("street") & "    </TD>"
    .Write "</TR>"

Next

Conn.Execute("Update orders Set exported = TRUE Where order_id = " & rs("order_id") & "")


rs.MoveNext
Loop

    .Write "</TABLE>"
   
End With
%>

På forhånd tak for hjælpen!
Avatar billede hnteknik Novice
31. januar 2006 - 09:59 #1
Jeg er ikke helt med

error =? exported
Avatar billede zetn Nybegynder
31. januar 2006 - 11:28 #2
Ang. error = false, er det noget der er lavet til at tjekke om ordren er blevet fejlmeldt, hvor den så ikke skal med i filen.
Avatar billede hnteknik Novice
31. januar 2006 - 13:35 #3
Ok - jeg gik ud fra, at du søgte på de ordrer, der havde exported= false.

Er dit problem, at du en gang i mellem ikke har order, der skal udskrives og at du derved får en tom tabel/regne ved denne header:

Response.Buffer = True
Response.ContentType="application/vnd.ms-excel"
Response.AddHeader "content-disposition",  "attachment;


Hvis det er tilfældes, så sæt en asp fil ind imellem.

Data læser du ind i en array. Hvis count >0 så sender du arrayen videre til ovenstående til ovenstående, som så skal rettes til, så den gennemløber arrayen.
Hvis count= 0 så desværre response på skærmen.
Avatar billede zetn Nybegynder
01. februar 2006 - 14:00 #4
Ja, altså mit problem er at man vælger en dato periode, fx 01-01-2006 til 01-02-2006. Dog udskriver den kun den tom fil hvis der ikke eksistere en ordre for start datoen, 01-01-2006.

Kan du hjælpe lidt mht. arrayen?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester