用Visual C#向Excel2002传输XML数据

2016-02-19 16:14 3 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的用Visual C#向Excel2002传输XML数据教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

  本文说明如何创建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 FilesMicrosoft OfficeOffice10Samples" + "Northwind.mdb;";

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  注意:您可能需要修改连接字符串中 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='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 WIDTH="100" ALIGN="CENTER"></COLGROUP>     <COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP>     <COLGROUP WIDTH="200" ALIGN="LEFT"></COLGROUP>     <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP>     <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP>     <TD CLASS="HDR">Customer ID</TD>     <TD CLASS="HDR">Company</TD>     <TD CLASS="HDR">Contact</TD>     <TD CLASS="HDR">Country</TD>     <TD CLASS="HDR">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='customers.xsl'");

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  此行代码向 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。

来源:http://www.tulaoshi.com/n/20160219/1611401.html

延伸阅读
我们知道.NET的开发平台提了一个名称空间System.Windows.Forms,在此名称空间中提供了许多开发Windows Form的类和对象,这些类和对象不仅内容十分丰富,而且还具有十分强大的拓展性,可以利用这些类和对象,简单而迅速的开发出自己需要的组件来。本文就将介绍如何利用.Net 开发平台原有的类和对象写一个自己的WinForm组件,如何编译自己的...
本文就来着重探讨一下 Visual C# 数据库基本编程,即:如何浏览记录、修改记录、删除记录和插入记录。针对 数据库 编程始终是程序设计语言的一个重要方面的内容,也是一个难点。数据库编程的内容十分丰富,但最为基本编程的也就是那么几点,譬如:连接数据库、得到需要的数据和针对数据记录的浏览、删除、修改、插入等操作。其中又以后面针...
Visual C#是微软公司推出的新一代程序开发语言,是微软.Net框架中的一个重要组成部分。屏幕保护程序是以scr为扩展名的标准Windows可执行程序。屏幕保护程序不仅可以延长显示器的使用寿命,还可以保护私人信息。本文向大家介绍一个.Net平台上用C#编写的一个动态文本及图形的屏幕保护程序。 一、具体实现步骤: (1)在Visual Stud...
Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩展,一般也都提供了调用WindowsAPI函数的接口, 也就是说具备调用动态连接库的能力。Visual C#和其它开发工具一样也能够调用动态链接库的API函数。.NET框架本身提供了这样一种服务,允许受管辖的代...
本文向大家介绍Windows Sockets的一些关于用C#实现的原始套接字(Raw Socket)的编程,以及在此基础上实现的网络封包监视技术。同Winsock1相比,Winsock2最明显的就是支持了Raw Socket套接字类型,使用Raw Socket,可把网卡设置成混杂模式,在这种模式下,我们可以收到网络上的IP包,当然包括目的不是本机的IP包,通过原始套接字,我们也可以...

经验教程

702

收藏

75
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部