RTF tabellen in ASP

Pagina: 1
Acties:

  • Gumball
  • Registratie: December 2003
  • Niet online
Tweakers,

We (collega en ik) moeten voor een project een aantal brieven automatisch aan de hand van SQL gegevens vullen, dit doen wij met ASP en schrijven het weg naar RTF. Bij gewone brieven met wat standaard opmaak is dit geen probleem, echter, als we tabellen willen genereren, dan zitten we met onze handen in het haar.
Er zijn welgetelt 2 sites die daar uitleg over geven, maar die zijn voor ons zo onduidelijk dat we er weinig mee opschieten, ze geven alleen de code van de RTF code en niet icm met ASP.

Nou is mijn vraag, weet er iemand iets meer over, en kan iemand daar een voorbeeld van geven?

PS. code die ik nu heb, en niet werkt Gekopieerd van www.devx.com/asp/Article/17964/1763/page/3
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<%
dim fso
dim MyFile
dim sFileName
dim sRTF
%>

<%
Set fso = CreateObject("Scripting.FileSystemObject")
sFileName = "OutputToRTF_test.rtf"
Set MyFile = fso.CreateTextFile("\\webserver\c$\inetpub\wwwroot\afspraken_test\correspondentie\" & "\" & sFileName, True)
%>


<%
MyFile.WriteLine sRTF
MyFile.WriteLine ("trowd\trautofit1")
MyFile.WriteLine ("intbl")
MyFile.WriteLine ("cellx1")
MyFile.WriteLine ("cellx2")
MyFile.WriteLine ("cellx3")
MyFile.WriteLine ("1 cell 1\cell 1 cell 2\cell 1 cell 3\cell")
MyFile.WriteLine ("trowd\trautofit1")
MyFile.WriteLine ("intbl")
MyFile.WriteLine ("cellx1")
MyFile.WriteLine ("cellx2")
MyFile.WriteLine ("cellx3")
MyFile.WriteLine ("row }")
MyFile.WriteLine ("trowd\trautofit1")
MyFile.WriteLine ("intbl")
MyFile.WriteLine ("cellx1")
MyFile.WriteLine ("cellx2")
MyFile.WriteLine ("cellx3")
'MyFile.WriteLine ("2 cell 1\cell 2 cell 2\cell 2 cell 3\cell")
MyFile.WriteLine ("trowd\trautofit1")
MyFile.WriteLine ("intbl")
MyFile.WriteLine ("cellx1")
MyFile.WriteLine ("cellx2")
MyFile.WriteLine ("cellx3")
MyFile.WriteLine ("row")

MyFile.Close

 response.redirect "OutputToRTF_test.doc"


%>

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Waarom zou de RTF code niet voldoende zijn ?
Oftewel: wat is de output die je nu krijgt en waarin verschilt ie met wat je verwacht had te krijgen ?
en niet werkt
Wordt er helemaal geen file gemaakt of is 't geen geldige rtf of ....

  • Gumball
  • Registratie: December 2003
  • Niet online
Er wordt wel een file gemaakt, maar er staat gewoon helemaal niets in de file. Leeg.

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

ASP:
10
sFileName = "OutputToRTF_test.rtf"

ASP:
44
response.redirect "OutputToRTF_test.doc"

Zoek het verschil ?

[ Voor 7% gewijzigd door TheRookie op 09-05-2007 10:01 ]


  • Gumball
  • Registratie: December 2003
  • Niet online
Klopt, dat heb ik verbeterd nu. Hij laat overigens nu de rtf codes gewoon zien in een rtf file, dus niet de opmaak zelf.

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

ASP:
16
MyFile.WriteLine sRTF

Nu heb ik niet veel verstand van asp, maar moet sRTF niet ergens geset worden ?

  • Gumball
  • Registratie: December 2003
  • Niet online
Heb de code een aantal keren aangepast en heb nu een klein tabelletje kunnen maken

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<% OPTION EXPLICIT %>
<%
dim sRTF

Response.Buffer = True

%>
 <!--#include file="../include/output/RTF_Classes.inc"-->
<%
 
 MyFile.WriteLine("{\rtf1")

    

MyFile.WriteLine sRTF
MyFile.WriteLine("{\rtf1")
MyFile.WriteLine ("\trowd\trautofit1")
MyFile.WriteLine ("\intbl")
MyFile.WriteLine ("\cellx1")
MyFile.WriteLine ("\cellx2")
MyFile.WriteLine ("\cellx3")
MyFile.WriteLine ("\1 cell 1\cell 1 cell 2\cell 1 cell 3\cell")
MyFile.WriteLine ("\trowd\trautofit1")
MyFile.WriteLine ("\intbl")
MyFile.WriteLine ("\cellx1")
MyFile.WriteLine ("\cellx2")
MyFile.WriteLine ("\cellx3")
MyFile.WriteLine ("\row }")
MyFile.WriteLine ("\trowd\trautofit1")
MyFile.WriteLine ("\intbl")
MyFile.WriteLine ("\cellx1")
MyFile.WriteLine ("\cellx2")
MyFile.WriteLine ("\cellx3")
MyFile.WriteLine ("\2 cell 1\cell 2 cell 2\cell 2 cell 3\cell")
MyFile.WriteLine ("\trowd\trautofit1")
MyFile.WriteLine ("\intbl")
MyFile.WriteLine ("\cellx1")
MyFile.WriteLine ("\cellx2")
MyFile.WriteLine ("\cellx3")
MyFile.WriteLine ("\row")

        MyFile.WriteLine ("}")
   MyFile.Close

 response.redirect "OutputToRTF_test.rtf"


%>


Ik ga hier even verder mee werken, en ik kom vast nog wel met een vraag :)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je zult bij het outputten de contenttype (response.contenttype uit de blote bol) moeten meegeven ;)

code:
1
response.ContentType ="application/rtf"

[ Voor 28% gewijzigd door RobIII op 09-05-2007 12:58 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
RobIII schreef op woensdag 09 mei 2007 @ 12:56:
Je zult bij het outputten de contenttype (response.contenttype uit de blote bol) moeten meegeven ;)

code:
1
response.ContentType ="application/rtf"
Nee hoor, hij doet een response.redirect. De browser vraagt dan zelf de rtf file op.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
bigbeng schreef op woensdag 09 mei 2007 @ 13:10:
[...]

Nee hoor, hij doet een response.redirect. De browser vraagt dan zelf de rtf file op.
8)7 Goeiemorgen ;)
Overheen gekeken...

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Gumball
  • Registratie: December 2003
  • Niet online
Ik werk nu de goede richting in, het is een heel gepuzzel met die lelijke rtf codes, maar het is nu alleen een kwestie van geduld.
Deze is opgelost, bedankt!
Pagina: 1