Avatar billede mtas Nybegynder
19. september 2002 - 16:14 Der er 23 kommentarer og
3 løsninger

Automatisk Excel dokument

Hej!

Jeg har på eksempelvis på Telmore.dk og TradeDoubler.dk set at man kan få "lavet" en fil i enten PDF eller XLS (Excel) dokument udfra dataer på sden.

Hvordan laver man et Excel dokument som selv henter dataer ud fra eksempelvis en ordre på nettet??
Avatar billede stoffer Nybegynder
19. september 2002 - 16:16 #1
dvs. du vil have at ASP genererer et Excel dokument alt efter hvad der ligger i f.eks. en ordre database...
Avatar billede mtas Nybegynder
19. september 2002 - 16:21 #2
ja!
Avatar billede md_craig Nybegynder
19. september 2002 - 16:25 #3
der skal vel som det første ligge Exelel på serveren...
Avatar billede mtas Nybegynder
19. september 2002 - 16:27 #4
jo, men hvordan skal denne Excel fil så forstår de oplysninger jeg giver den via ASP ???
Avatar billede stoffer Nybegynder
19. september 2002 - 16:28 #5
ok, jeg kan et lille trick som gør det lynhurtigt.

lav med filesystem object en fil, hvor kolonnerne er opdelt med tabulator (vbtab)
og rækker er opdelt med linjeskift (vbcrlf)

gem herefter filen som .xls

Når denne bliver linket til vil Excel automatisk åbne dokumentet. Helt simpel...
Avatar billede mtas Nybegynder
19. september 2002 - 16:28 #6
ups...du skrev Exelel - og det er ???
Avatar billede mtas Nybegynder
19. september 2002 - 16:29 #7
stoffer> ØØhh, det forstod det ikke helt :?
Avatar billede apocryphal Nybegynder
19. september 2002 - 16:29 #8
Mit bedste bud, er at lave en TAB fil.
Denne kan læses af Excel.

Du kunne godt returnere en Excelfil, men det er altså rimlig besværligt, hvis du blot ønsker at returnere noget date i en Excel tabel - i så fald er TAB filer lettere.

Jeg vil ikke lave en detaljeret beskrivelse af, hvordan det skal gøres, medmindre du kan bruge det.

Ønsker du det?

--
Jonas
Avatar billede mtas Nybegynder
19. september 2002 - 16:30 #9
jo tak!!
Avatar billede mtas Nybegynder
19. september 2002 - 16:30 #10
ville gerne have nogle forskellige forslag da!!
Avatar billede stoffer Nybegynder
19. september 2002 - 16:36 #11
jeg vil IKKE anbefale at åbne excel og bruge excels funktioner, excel bruger som minimum 8 MB ram til at starte op..så bare for 100 brugere skal du bruge 800 mb ram.

Ulempen ved den metode jeg har skrevet ovenfor er at der ikke kan laves design i excel arket. kun simple visninger kan laves.

Du kan også downloade komponenter som kan rimeligt meget, men de koster penge...men hvis det er ligemeget er det relativet nemt at finde et komponent,
Avatar billede stoffer Nybegynder
19. september 2002 - 16:38 #12
jeg mente hvad apocryphal skrev. Det er nemt.
Avatar billede md_craig Nybegynder
19. september 2002 - 16:39 #13
mtas >>> Exelel er EXEL...
Avatar billede stoffer Nybegynder
19. september 2002 - 16:41 #14
men leg med Notepad og gem det som en .xsl fil så kan du selv se...
Avatar billede stoffer Nybegynder
19. september 2002 - 16:41 #15
ups .xls fil :P
Avatar billede apocryphal Nybegynder
19. september 2002 - 16:44 #16
<%@ Language=JavaScript%>
<%
Response.ContentType = "application/vnd.ms-excel";
Response.Write("Row1" + "\t" + "Row1" + "\t" + "Row1" + "\n");
Response.Write("Row2" + "\t" + "Row2" + "\t" + "Row2" + "\n");
Response.Write("Row3" + "\t" + "Row3" + "\t" + "Row3" + "\n");
%>

Smid dette ind i en ASP fil, og den vil returnere en Excelfil - som enten åbnes direkte i Browseren, eller bliver downloaded som xls-fil. Det kommer an på browserens konfiguration.

Forklaring på scriptet:

Først sættes ContentTypen, hvilket fortæller Browseren at der er tale om Excel regnearksdata:
Response.ContentType = "application/vnd.ms-excel";

Formatet for TAB sepereret data, er at kolonner sepereres med tabulator, og rækker med enter.

\t er i JScript en konstant for tabulatortegnet.
\n er i JScript en konstant for enter.

Response.Write("Row1" + "\t" + "Row1" + "\t" + "Row1" + "\n");
Response.Write("Row2" + "\t" + "Row2" + "\t" + "Row2" + "\n");
Response.Write("Row3" + "\t" + "Row3" + "\t" + "Row3" + "\n");

Denne laver altså TRE rækker, med tre kolonner.

I VBS skal du vidst bare skrive vbtab, hvor jeg skriver \t og vbcrlf hvor jeg skriver \n

+ bruges i JScript på samme måde som & bruges i VBS.

Hvis der er noget du er i tvivl om, så skriv endelig.

--
Jonas
Avatar billede mtas Nybegynder
19. september 2002 - 16:44 #17
troede det var en smart og hurtig måde...
Avatar billede apocryphal Nybegynder
19. september 2002 - 16:47 #18
Well, det tog mig 3 minutter at udarbejde dette eksempel ... Så en langsom process er det vel ikke...

--
Jonas
Avatar billede mtas Nybegynder
19. september 2002 - 16:48 #19
ej okay jeg så ikke dit indlæg da jeg postede det...

Men synes ligesom det er ret svært for mig at skulle lave en faktura i ASP på den her måde. Fordi hvad med funktionerne ??
Avatar billede apocryphal Nybegynder
19. september 2002 - 16:54 #20
I VBScript ser det sådanher ud:
<%
Response.ContentType = "application/vnd.ms-excel"
Response.Write "Row1" & vbtab & "Row1" & vbtab & "Row1" & vbcrlf
Response.Write "Row2" & vbtab & "Row2" & vbtab & "Row2" & vbcrlf
Response.Write "Row3" & vbtab & "Row3" & vbtab & "Row3" & vbcrlf
%>

Det bliver lidt en anden historie, hvis du vil fortælle sheetet, at feltet B5 = B4*1,25.

Jeg kender ikke dit niveau i ASP, men denne opgave ér ikke en begynder opgave.

Du kan løse denne opgave på denne måde, men resultatet bliver ikke specielt smukt.
Du har ikke mulighed for at sætte breden på kolonnerne, farverne på teksten og alle de andre funkye detaljer rigtige Excel dokumenter har.

Hvis du kan opstøve Formateringen af Exceldokumenter et sted, kan du godt...

--
Jonas
Avatar billede mtas Nybegynder
19. september 2002 - 16:59 #21
Okay nu er jeg kommet så lang til at have min nuværende faktura udarbejdet i HTML som er en funktion af Excel.

Det går også fint med at få det hele smidt tilbage i Excel via ASP, men dog mangler jeg en masse skriftyper, rammer m.m.

Kan man slet ikke det ?
Avatar billede mtas Nybegynder
19. september 2002 - 17:02 #22
Ups, har fået lavet skrifttype m.m. alligevel !

Men eneste problem lige pt.: Hvordan fletter man felter??
Avatar billede apocryphal Nybegynder
19. september 2002 - 17:09 #23
Well, det er dét som ikke er ligetil.

Excelformatet er rimlig komplekst, og jeg ville nok overveje en anden løsning, når det kun drejer sig om en faktura.

Jeg tror måske det ville være lettere at returnere en PDF fil - men det er lidt at "skyde duer med kanoner" syntes jeg.

Hvis du kan finde dokumentationen for Excels opbygning, kan du gøre det - men det bliver næppe "en dans på roser".

--
Jonas
Avatar billede mtas Nybegynder
19. september 2002 - 17:10 #24
Jeg kommet rimelige godt igang med Excel og ASP, og det skal nok lykkes i følge mig men jeg synes ligesom ikke rigtig jeg har fået så meget hjælp..
Avatar billede apocryphal Nybegynder
19. september 2002 - 17:36 #25
Altså... Jeg gav dig et eksempel på, hvordan du kunne repræsentere data i excel fra en ASP side.

Jeg mener umiddelbart det besvarer dit spørgsmål.

--
Jonas
Avatar billede mtas Nybegynder
20. september 2002 - 22:14 #26
Jo korret, men jeg måtte jo selv prøve de fleste ting selv så jeg deler pointz....
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