Cara mentransfer XML data untuk Microsoft Excel 2002 atau Microsoft Excel 2003 dengan menggunakan Visual C#

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 307029 - Melihat produk di mana artikel ini berlaku.
Untuk Microsoft Visual Basic.NET versi artikel ini, lihat 307021.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Excel 2002 memperkenalkan fungsi untuk membuka file dalam format Extensible Markup Language (XML). Sebuah file XML yang well-formed dapat dibuka langsung di Excel 2002 atau Excel 2003 dengan menggunakan antarmuka pengguna atau kode.

Dengan Microsoft Visual C# 2005 atau Microsoft Visual C#.NET, Anda dapat mengambil keuntungan dari Excel XML fungsionalitas mulus mentransfer data ke buku kerja untuk menyajikan data dengan format dan pengaturan pilihan Anda. Artikel ini menunjukkan bagaimana untuk menyelesaikan tugas ini.

Menghasilkan XML dari DataSet untuk digunakan dalam Excel 2002 atau Excel 2003

Bagian ini menggambarkan cara membuat DataSet objek dan ekspor data yang berisi file XML dengan menggunakan WriteXML metode. File XML yang dihasilkan dapat dibuka secara langsung dalam Excel. Untuk tujuan ilustrasi, DataSet objek dibuat dari Microsoft Access Northwind sampel database dengan menggunakan penyedia OLEDB Jet. Namun, kode yang sama bekerja dengan DataSet objek yang Anda buat dengan Visual C# 2005 atau Visual C#.NET.
  1. Mulai Microsoft Visual Studio 2005 atau Microsoft Visual Studio.NET. Pada Berkas menu, klik Baru kemudian klik Project. Pilih Aplikasi Windows dari jenis Visual C# proyek. Form1 dibuat secara default.
  2. Pada Lihat menu, pilih Toolbox untuk menampilkan Toolbox dan menambahkan tombol ke Form1.
  3. Klik dua kali Button1. Jendela kode untuk bentuk muncul.
  4. Tambahkan berikut menggunakan arahan ke atas Form1.cs:
    using System.Data.OleDb;
    using System.Xml;
    					
  5. Menambahkan variabel anggota pribadi berikut untuk Form1 kelas:
    private string strConn ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    	+ " C:\\Program Files\\Microsoft Office\\Office10\\Samples\\"
    	+ "Northwind.mdb;";
    					
    Catatan Anda mungkin perlu untuk mengubah jalan untuk Northwind.mdb dalam rangkaian sambungan untuk mencocokkan instalasi Anda.
  6. Tambahkan kode berikut untuk button1_Click handler:
    //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);
             } 
    					
    CatatanAnda harus mengubah kode pada Visual Studio 2005. Secara default, Visual C# menambahkan salah satu bentuk proyek ketika Anda membuat proyek Windows Forms. Bentuk nama Form1. Dua file yang mewakili bentuk yang bernama Form1.cs dan Form1.designer.cs. Anda menulis kode dalam Form1.cs. Form1.designer.cs file adalah di mana Windows Forms Designer menulis kode sumber yang mengimplementasikan semua tindakan Anda dilakukan dengan menyeret dan menjatuhkan kontrol dari Toolbox.

    Untuk informasi lebih lanjut tentang Windows bentuk desainer Visual C# 2005, kunjungi berikut Microsoft Developer Network (MSDN) situs Web:
    http://msdn2.Microsoft.com/en-us/library/ms173077.aspx
  7. Tekan F5 untuk membangun dan menjalankan program.
  8. Klik Button1 untuk membuat XML file, kemudian tutup Form1 untuk mengakhiri program.
  9. Mulai Excel 2002 atau Excel 2003 dan membuka C:\Customers.xml output file.
  10. Setelah Anda telah mengamati bagaimana XML telah diuraikan ke dalam baris dan kolom dalam buku kerja baru, tutup berkas dan berhenti Excel.

Format XML menggunakan Stylesheet

Langkah ini menunjukkan kepada Anda bagaimana menggunakan stylesheet (XSL) untuk mengubah bagaimana XML data diformat dan diatur dalam buku kerja Excel.
  1. Menggunakan editor HTML apapun atau editor teks (seperti Notepad.exe), menyelamatkan XSL berikut sebagai 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. Tanda komentar berikut baris kode di button1_Click handler:
    xtw.WriteProcessingInstruction("xml-stylesheet", 
    	"type='text/xsl' href='customers.xsl'");
    					
    Baris kode menulis petunjuk pemrosesan XML file yang menggunakan Excel untuk menemukan stylesheet (Customers.xsl).

  3. Tekan F5 untuk membangun dan menjalankan program.
  4. Klik Button1 untuk membuat XML file, kemudian tutup Form1 untuk mengakhiri program.
  5. Mulai Excel 2002 atau Excel 2003 dan membuka C:\Customers.xml output file.
  6. Karena Excel melihat petunjuk pemrosesan untuk stylesheet dalam XML, Anda menerima prompt kotak dialog saat Anda membuka berkas. Dalam Impor XML kotak dialog, pilih Buka file dengan stylesheet berikut yang diterapkan. Dalam daftar, pilih Customers.XSL dan klik Oke. Perhatikan bahwa XML data diformat dan bahwa kolom telah disusun menurut stylesheet.
  7. Tutup file dan berhenti Excel.

Gunakan kode untuk membuka XML berubah

Hingga saat ini, Anda telah membuka XML file dengan menggunakan antarmuka pengguna di Excel. Bagian ini menunjukkan bagaimana untuk mengotomatisasi Excel untuk membuka buku kerja pemrograman. Contoh berikut menggambarkan cara untuk membuka XML berubah tanpa campur tangan pengguna dengan mengubah XML di DataSet objek ke HTML.
  1. Menambahkan referensi ke Perpustakaan objek Microsoft Excel 10,0 atau perpustakaan objek Microsoft Excel 11,0. Untuk melakukannya, ikuti langkah-langkah berikut:
    1. Pada Project menu, klik Menambahkan referensi.
    2. Pada COM tab, Cari Perpustakaan objek Microsoft Excel 10,0 atau perpustakaan objek Microsoft Excel 11,0 dan klik Pilih.
    3. Klik Oke dalam Menambahkan referensi kotak dialog untuk menerima pilihan Anda. Jika Anda menerima prompt untuk menghasilkan pembungkus untuk perpustakaan yang Anda pilih, klik Ya.
  2. Tambahkan berikut menggunakan arahan ke atas Form1.cs:
    using Excel = Microsoft.Office.Interop.Excel;
    					
  3. Dalam Visual C# 2005 atau Visual C#.NET proyek, menambahkan tombol lain untuk Form1.
  4. Klik dua kali Button2. Ketika jendela kode untuk bentuk muncul, tambahkan kode berikut untuk Button2_Click handler:
    //Connect to the data source.
    OleDbConnection objConn = new OleDbConnection (strConn);
    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.htm", System.IO.FileMode.Create);
    
    //Create an XmlTextWriter for the FileStream.
    System.Xml.XmlTextWriter xtw = new System.Xml.XmlTextWriter(
    	fs, System.Text.Encoding.Unicode);
    
    //Transform the XML using the stylesheet.
    XmlDataDocument xmlDoc = new XmlDataDocument(objDataset);
    System.Xml.Xsl.XslTransform xslTran = new System.Xml.Xsl.XslTransform();
    xslTran.Load("C:\\Customers.xsl");
    xslTran.Transform(xmlDoc, null, xtw);
    
    //Open the HTML file in Excel.
    Excel.Application oExcel = new Excel.Application();
    oExcel.Visible=true;
    oExcel.UserControl=true;
    Excel.Workbooks oBooks = oExcel.Workbooks;
    object oOpt = System.Reflection.Missing.Value; //for optional arguments
    oBooks.Open("c:\\customers.htm", oOpt, oOpt, oOpt, 
    	oOpt, oOpt, oOpt, oOpt, oOpt, oOpt, oOpt, oOpt, 
    	oOpt, oOpt, oOpt);
    
    					
  5. Tekan F5 untuk membangun dan menjalankan program.
  6. Klik Button2 untuk membuka XML berubah di Excel.
Catatan Sementara Excel 2002 dan Excel 2003 Object Model mengekspos OpenXML metode yang memungkinkan Anda untuk pemrograman membuka sebuah file XML dengan stylesheet diterapkan, contoh sebelumnya tidak panggilan metode ini karena untuk masalah yang diketahui dengan menggunakan metode ini dari klien otomasi. The OpenXML metode bekerja seperti yang diharapkan ketika disebut dari Excel makro; Namun, ketika metode ini disebut dari klien otomasi StyleSheet parameter akan diabaikan.Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
307230 BUG: Stylesheet Parameter OpenXML metode diabaikan ketika mengotomatisasi Excel 2002

REFERENSI

Untuk informasi lebih lanjut, lihat artikel Basis Pengetahuan berikut:
288215 INFO: Microsoft Excel 2002 dan XML
302084 Cara mengotomatisasi Microsoft Excel dari Visual C#.NET
301216 Cara mengisi DataSet objek dari Database dengan menggunakan Visual Basic.NET
306023 Bagaimana untuk mentransfer Data ke buku kerja Excel dengan menggunakan Visual C#.NET

Properti

ID Artikel: 307029 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
Kata kunci: 
kbhowtomaster kbmt KB307029 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:307029

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com