Click to See Complete Forum and Search --> : How to perform Excel Formating using XSLT


diana.jjoseph
05-23-2007, 04:37 AM
Hi,
i have exported data into an excel file, wat excatly i hav done is convert the data retrieved from SQL Server into an XML, applied stylesheet to it, an also exported into Excel sheet, but i want the result in a formatted way, and m trying to do dis using ASP, can anybody help me on this????

my ASP Code looks like dis



set rsReport = server.CreateObject("ADODB.RECORDSET")
rsReport.CursorLocation = 3
sqldetail = "exec Sp_RptClosedIssues " & intBranch & ",'" & strStartDt & "','" & strEndDt & "'"
rsReport.Open sqldetail,ObjCon,adOpenForwardOnly,adLockReadOnly


If Not rsReport.EOF Then


'Load the XML from the oResponseXML object
set oXML = Server.CreateObject("Microsoft.XMLDOM")
oXML.Async = false
oXML.Load(Server.MapPath("XML_Files\Old_Unicode.xml"))



'Load the XSL from disk
set oXSL = Server.CreateObject("Microsoft.XMLDOM")
oXSL.Async = False
oXSL.Load(Server.MapPath("XML_Files\style.xsl"))


'Transform the XML using the XSL stylesheet

Dim oResults
Set oResults = CreateObject("Microsoft.XMLDOM")
oResults = oXML.transformNode(oXSL)

sOutXML = server.MapPath("XML_Files\myexcel.xls")



Set excelfile = Server.CreateObject("Scripting.FileSystemObject")
set stest = excelfile.CreateTextFile(sOutXML)
Response.Charset = "UTF-8"
stest.writeline(oResults)
response.End



My XML File looks like this:



<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='cc_tktno' rs:number='1' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='30'/>
</s:AttributeType>
<s:AttributeType name='cc_bldgname' rs:number='2' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='100'/>
</s:AttributeType>
<s:AttributeType name='Bldg_altname' rs:number='3' rs:nullable='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='200'/>
</s:AttributeType>
<s:AttributeType name='Bldg_Type' rs:number='4' rs:nullable='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row cc_tktno='KEICHE01070002' cc_bldgname='THE BANYAN' Bldg_altname='THE BANYAN' Bldg_Type='Hospital'/>
<z:row cc_tktno='KEICHE01070003' cc_bldgname='MOHAMMED AHAMED' Bldg_altname='NAWAZISH OWNERS ASSOCIATION' Bldg_Type='Commercial'/>
<z:row cc_tktno='FLYCHE01070001' cc_bldgname='GOLDEN TROVE' Bldg_altname='GOLDEN TROVE' Bldg_Type='Hotel'/>
<z:row cc_tktno='OLYCHE01070007' cc_bldgname='SUBRAMANIYA APARTMENTS OWNERS ASSOCN' Bldg_altname='SUBRAMANYA FLAT OWNER S ASSN'
Bldg_Type='Apartment'/>
<z:row cc_tktno='FLYCHE01070008' cc_bldgname='VIJAY APARTMENT MEMBERS ASSOCIATION' Bldg_altname='VIJAY APARTMENT'
Bldg_Type='Apartment'/>
</rs:data>
</xml>



My XSL File looks Like this:


<?xml version ="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>

<xsl:output method="text" encoding="UTF-8" indent="yes" />


<xsl:template match="/">
<xsl:element name="Root">
<xsl:for-each select="//rs:data/z:row">
<xsl:element name="SubRoot">
<xsl:value-of select="@cc_tktno" />
<xsl:value-of select="@cc_bldgname" />
<xsl:value-of select="@Bldg_altname" />
<xsl:value-of select="@Bldg_Type" />
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>

</xsl:stylesheet>




My question is that can i format the Excel sheet using XSLT????