本文說明如何創(chuàng)建DataSet 對象,以及如何使用WriteXML方法將該對象包含的數據導出到 XML 文件中。生成的 XML 文件可以直接在 Excel 中打開。為便于說明,使用 Jet OLEDB 提供程序從 Microsoft Access Northwind 示例數據庫創(chuàng)建了DataSet 對象。但是,類似的代碼可與您使用 Visual C# .net 創(chuàng)建的任何DataSet 對象一起使用。
1. 啟動 Microsoft Visual Studio .NET。在文件菜單上,單擊新建,然后單擊項目。從 Visual C# 項目類型中選擇Windows 應用程序。默認情況下創(chuàng)建 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='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以創(chuàng)建 XML 文件,然后關閉 Form1 以結束該程序。
9. 啟動 Excel 2002 或 Excel 2003 并打開 C:\Customers.xml 輸出文件。
10. 在您看到已將 XML 分析成新工作簿中的行和列后,請關閉文件并退出 Excel。
1. 啟動 Microsoft Visual Studio .NET。在文件菜單上,單擊新建,然后單擊項目。從 Visual C# 項目類型中選擇Windows 應用程序。默認情況下創(chuàng)建 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='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以創(chuàng)建 XML 文件,然后關閉 Form1 以結束該程序。
9. 啟動 Excel 2002 或 Excel 2003 并打開 C:\Customers.xml 輸出文件。
10. 在您看到已將 XML 分析成新工作簿中的行和列后,請關閉文件并退出 Excel。

