Xsl是一种可扩展的样式表语言,通过他描述可快速的将DataSet转换成Excel文件,具体操作如下:
步骤一:
设计Xsl文件内容
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/tr/rec-html40">
<Worksheet ss:Name="mypage">
<Table>
<Row>
<Cell>
<Data ss:Type="String">姓名</Data>
</Cell>
<Cell>
<Data ss:Type="String">证件号</Data>
</Cell>
<Cell>
<Data ss:Type="String">银行卡号</Data>
</Cell>
<Cell>
<Data ss:Type="String">审核标志</Data>
</Cell>
</Row>
<xsl:for-each select="//Table">
<Row>
<Cell>
<Data ss:Type="String">
<xsl:value-of select="UserName"/>
</Data>
</Cell>
<Cell>
<Data ss:Type="String">
<xsl:value-of select="CertID"/>
</Data>
</Cell>
<Cell>
<Data ss:Type="String">
<xsl:value-of select="BankID"/>
</Data>
</Cell>
<Cell>
<Data ss:Type="String">
<xsl:value-of select="CheckTypeName"/>
</Data>
</Cell>
</Row>
</xsl:for-each>
</Table>
</Worksheet>
</Workbook>
</xsl:template>
</xsl:stylesheet>
步骤二:
代码部分
XmlDocument doc = new XmlDocument();
doc.LoadXml(ds.GetXml());
XPathNavigator nav = doc.DocumentElement.CreateNavigator();
XmlTextWriter writer = new XmlTextWriter("c:\\fileName.xls", null);
writer.WriteProcessingInstruction("xml", "version=\"1.0\"");
XslTransform transform = new XslTransform();
transform.Load("xsl文件路径");
transform.Transform(nav, null, writer, null);
writer.Close();
MessageBox.Show("导出成功!", "系统提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);
步骤一:
设计Xsl文件内容
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/tr/rec-html40">
<Worksheet ss:Name="mypage">
<Table>
<Row>
<Cell>
<Data ss:Type="String">姓名</Data>
</Cell>
<Cell>
<Data ss:Type="String">证件号</Data>
</Cell>
<Cell>
<Data ss:Type="String">银行卡号</Data>
</Cell>
<Cell>
<Data ss:Type="String">审核标志</Data>
</Cell>
</Row>
<xsl:for-each select="//Table">
<Row>
<Cell>
<Data ss:Type="String">
<xsl:value-of select="UserName"/>
</Data>
</Cell>
<Cell>
<Data ss:Type="String">
<xsl:value-of select="CertID"/>
</Data>
</Cell>
<Cell>
<Data ss:Type="String">
<xsl:value-of select="BankID"/>
</Data>
</Cell>
<Cell>
<Data ss:Type="String">
<xsl:value-of select="CheckTypeName"/>
</Data>
</Cell>
</Row>
</xsl:for-each>
</Table>
</Worksheet>
</Workbook>
</xsl:template>
</xsl:stylesheet>
步骤二:
代码部分
XmlDocument doc = new XmlDocument();
doc.LoadXml(ds.GetXml());
XPathNavigator nav = doc.DocumentElement.CreateNavigator();
XmlTextWriter writer = new XmlTextWriter("c:\\fileName.xls", null);
writer.WriteProcessingInstruction("xml", "version=\"1.0\"");
XslTransform transform = new XslTransform();
transform.Load("xsl文件路径");
transform.Transform(nav, null, writer, null);
writer.Close();
MessageBox.Show("导出成功!", "系统提示",
MessageBoxButtons.OK, MessageBoxIcon.Information);