Introduction
One day, I needed to create a conversion of MS Excel saved XML spreadsheet to CSV file. I believe the MS Office Web Component (OWC) ver. 10 spreadsheet component can also expose XML data.
Practical use
Here is an example web page showing how to use OWC spreadsheet with it.
The Script
<script language="JavaScript">
function action()
{
var strXML = Spreadsheet1.XMLData
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load(strXML)
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("book.xsl")
form1.csvValue.value = xml.transformNode(xsl)
form1.submit()
}
</script>
The Body
<html><BODY>
<h3> Payroll Input Form </h3>
<P>
<OBJECT id="Spreadsheet1" style="WIDTH: 100%; HEIGHT: 80%"
classid="clsid:0002E551-0000-0000-C000-000000000046" >
<PARAM NAME="DataType" VALUE="XMLDATA">
<PARAM NAME="xmlURL" VALUE="book_no_xsl.xml">
</OBJECT>
</P>
<form id="form1" method="post" runat="server">
<P>
<input type="button" onclick="action()">
</P>
<input id="csvValue" type="hidden" name="csvValue">
</form>
</BODY></html>
How to Use it
Simply unzip and look at book.xml.
ASP.NET
Here is a piece of code I use to transform Excel XML to CSV.
Dim xslt As New XslTransform
xslt.Load(Server.MapPath(".") & "excel2csv.xsl")
Dim doc As New XmlDocument
doc.LoadXml(xmlData)
Dim fileName As String
fileName = Server.MapPath(".") & "book.csv"
Dim writer As XmlWriter = New XmlTextWriter(fileName, Nothing)
xslt.Transform(doc, Nothing, writer, Nothing)
writer.Close()
Reference
-- May the code be with you.