Loading rico1 and rico3 files
[infodrom/rico3] / plugins / asp / excel.asp
1 <%@ LANGUAGE="VBSCRIPT" %>\r
2 <%\r
3 \r
4 dim xmlfile,xslfile,outfile\r
5 xmlfile=Request.QueryString("xml")\r
6 xslfile=Request.QueryString("xsl")\r
7 outfile=trim(Request.QueryString("name"))\r
8 if outfile="" then outfile="export"\r
9 if xmlfile="" then\r
10   response.write "ERROR: expected url for xml source document"\r
11 elseif xslfile="" then\r
12   response.write "ERROR: expected url for xsl transformation"\r
13 else\r
14   doTransform replace(xmlfile,":",""), xslfile & "2xl.xsl"\r
15 end if\r
16 \r
17 \r
18 sub doTransform(ByVal xmlfilename, ByVal xslfilename)\r
19   dim xml,xsl\r
20   \r
21   if not loadXmlDoc(xml,xmlfilename) then exit sub\r
22   if not loadXmlDoc(xsl,xslfilename) then exit sub\r
23   Response.AddHeader "Content-Disposition","attachment; filename=" & outfile & ".xls"\r
24   Response.ContentType = "application/ms-excel"\r
25   'Response.ContentType="application/vnd.ms-excel"\r
26   'Response.ContentType = "application/xml"   ' for debugging\r
27   xml.transformNodeToObject xsl, Response\r
28   set xml = nothing\r
29   set xsl = nothing\r
30 end sub\r
31 \r
32   \r
33 function loadXmlDoc(xmldoc, ByVal filename)\r
34   on error resume next\r
35   set xmldoc = Server.CreateObject("Msxml2.DomDocument")\r
36   xmldoc.async = false\r
37   'xmldoc.setProperty "ServerHTTPRequest", true\r
38   'xmldoc.load(filename)\r
39   xmldoc.load(Server.MapPath(filename))\r
40   'Check for a successful load\r
41   if Err.Number <> 0 then\r
42     Response.Write "<p>"\r
43     Response.Write "<strong>Error # " & hex(Err.Number) & " was generated by " & Err.Source & "</strong><hr>"\r
44     Response.Write "File: " & Server.HTMLencode(filename) & "<br>"\r
45     Response.Write Err.Description\r
46     Response.Write "</p>"\r
47   elseif xmldoc.parseerror.errorcode <> 0 then \r
48     Response.Write "<p>"\r
49     Response.Write "<strong>Error loading XML document</strong><hr>"\r
50     Response.Write "File: " & Server.HTMLencode(filename) & "<br>"\r
51     Response.Write "Error Code: " & xmldoc.parseerror.errorcode & "<br>"\r
52     Response.Write "Reason: " & xmldoc.parseerror.reason\r
53     Response.Write "</p>"\r
54     Response.End\r
55     loadXmlDoc=false\r
56   else\r
57     loadXmlDoc=true\r
58   End If\r
59 end function\r
60   \r
61 %>\r