快捷搜索:

用Visual C#向Excel2002传输XML数据

  本文说明怎么 创建DataSet 对象,以及怎么 使用WriteXML方法将该对象包括 的数据导出到 XML 文件中。生成的 XML 文件可以直接在 Excel 中打开。为便于说明,使用 Jet OLEDB 提供程序从 Microsoft Access Northwind 示例数据库创建了DataSet 对象。但是 ,类似的代码可与您使用 Visual C# .NET 创建的任何DataSet 对象一同 使用。

  1. 启动 Microsoft Visual Studio .NET。在文件菜单上,单击新建,然后单击项目。从 Visual C# 项目类型中选择Windows 应用程序。默许 状况 下创建 Form1。

  2. 在视图菜单上,选择东西 箱以显示“东西 箱”,然后向 Form1 中添加一个按钮。

  3. 双击Button1。将呈现 该窗体的代码窗口。

  4. 将下面的using 指令添加到 Form1.cs 顶部:

using System.Data.OleDb; using System.Xml;  

   5.将下面的私有成员变量添加到 Form1 类中:

private string strConn ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + " C:\\Program Files\\Microsoft Office\\Office10\\Samples\\" + "Northwind.mdb;";  

   留意 :您可能需要修正 连接字符串中 Northwind.mdb 的途径 ,以便与您设备 的方位 相匹配。

  6.在button1_Click 处理程序中添加以下代码:

  //Connect to the data source. OleDbConnection objConn = new OleDbConnection (strConn); try { objConn.Open(); //Fill a dataset with records from the Customers table. OleDbCommand objCmd = new OleDbCommand( "Select CustomerID, CompanyName, ContactName, " + "Country, Phone from Customers", objConn); OleDbDataAdapter objAdapter = new OleDbDataAdapter(); objAdapter.SelectCommand = objCmd; DataSet objDataset = new DataSet(); objAdapter.Fill(objDataset); //Create the FileStream to write with. System.IO.FileStream fs = new System.IO.FileStream( "C:\\Customers.xml", System.IO.FileMode.Create); //Create an XmlTextWriter for the FileStream. System.Xml.XmlTextWriter xtw = new System.Xml.XmlTextWriter( fs, System.Text.Encoding.Unicode); //Add processing instructions to the beginning of the XML file, one //of which indicates a style sheet. xtw.WriteProcessingInstruction("xml", "version='1.0'"); //xtw.WriteProcessingInstruction("xml-stylesheet", // "type='text/xsl' href='http://www.yesky.com/235/customers.xsl'"); //Write the XML from the dataset to the file. objDataset.WriteXml(xtw); xtw.Close(); //Close the database connection. objConn.Close(); } catch (System.Exception ex) { MessageBox.Show(ex.Message); }  

  7. 按 F5 键生成并运转 程序。

  8. 单击Button1以创建 XML 文件,然后关闭 Form1 以完毕 该程序。

  9. 启动 Excel 2002 或 Excel 2003 并打开 C:\Customers.xml 输出文件。

  10. 在您看到已将 XML 分析成新工作簿中的行和列后,请关闭文件并退出 Excel。
  使用样式表格局 化 XML  该步骤介绍怎么 使用样式表 (XSL) 来转换 XML 数据在 Excel 工作簿中的格局 和摆放 方式。

   1. 使用任何 HTML 修正 器或文本修正 器(例如 Notepad.exe),将下面的 XSL 另存为 C:\Customers.xsl:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <HTML> <HEAD> <STYLE> .HDR { background-color:bisque;font-weight:bold } </STYLE> </HEAD> <BODY> <TABLE> <COLGROUP></COLGROUP> <COLGROUP></COLGROUP> <COLGROUP></COLGROUP> <COLGROUP></COLGROUP> <COLGROUP></COLGROUP> <TD>Customer ID</TD> <TD>Company</TD> <TD>Contact</TD> <TD>Country</TD> <TD>Phone</TD> <xsl:for-each select="NewDataSet/Table"> <TR> <TD><xsl:value-of select="CustomerID"/></TD> <TD><xsl:value-of select="CompanyName"/></TD> <TD><xsl:value-of select="ContactName"/></TD> <TD><xsl:value-of select="Country"/></TD> <TD><xsl:value-of select="Phone"/></TD> </TR> </xsl:for-each> </TABLE> </BODY> </HTML> </xsl:template> </xsl:stylesheet>  

  2. 在button1_Click 处理程序中取缔对以下代码行的注释:

xtw.WriteProcessingInstruction("xml-stylesheet", "type='text/xsl' href='http://www.yesky.com/235/customers.xsl'");  

  此行代码向 XML 文件写入了一个处理指令,Excel 使用该指令来查找样式表 (Customers.xsl)。

  3.按 F5 键生成并运转 程序。

  4.单击Button1 以创建 XML 文件,然后关闭 Form1 以完毕 该程序。

   5.启动 Excel 2002 或 Excel 2003 并打开 C:\Customers.xml 输出文件。

   6.因为从 Excel 可以看到 XML 中样式表的处理指令,所以您在打开文件时会收到一个对话框提示。在导入 XML对话框中,选择打开该文件,应用以下样式表。在列表中,选择Customers.xsl并单击确定。留意 ,XML 数据已格局 化,并现已 依据 样式表摆放 各个列。

   7.关闭该文件并退出 Excel。

作者:WonderOne的BLOG职责 修正 :方舟)

天极新媒体 最酷科技资讯

扫码赢大奖

评论

* 网友说话 均非本站情绪 ,本站不在评论栏引荐 任何网店、经销商,谨防上当上当 !

您可能还会对下面的文章感兴趣: