none
如何讀取Excel資料~~ RRS feed

  • 問題

  • 各位前輩大家好~~

    小弟目前開發環境是 vs2005 + Office2000

    在實做讀取Excel檔時是使用oledb的方式去讀取,我知道如果語法為 select * from [sheet1$],是可以正常讀取,但是如果Excel來源檔的特性是:工作表名稱不固定,但只會有一個工作表。如果是這樣,我就不能指定工作表名稱(sheet1)了,這樣我使用oledb的方法去讀取可以辦到嗎?如果不行,還有其他方法可以解決我的問題嗎?煩請各位先進指導,謝謝!!
    2007年9月26日 上午 09:15

解答

所有回覆

  • 你可以先用 OleDbConnection.GetOleDbSchemaTable() 來取得 Excel 的工作表的列表。

    2007年9月26日 上午 09:52
    版主
  • 小朱大大~~~

    實在太感謝您的解答哩,我想這樣就夠哩,謝謝!!

    2007年9月26日 上午 10:10
  • 題外話...如果真的想知道 sheet 的名字的話...可以用下面的程式碼...XD

     

    Code Snippet

    private void button1_Click(object sender, EventArgs e)
    {
        string filename = @"c:\1.xls";

     

        ApplicationClass app = new ApplicationClass();
        Workbooks wbs = app.Workbooks;
        object obj = Missing.Value;

     

        wbs.Open(filename, obj, obj, obj, obj, obj, obj, obj, obj, obj, obj, obj, obj, obj, obj);

     

        Workbook wb = app.ActiveWorkbook;
        Worksheet ws = (Worksheet) wb.ActiveSheet;

        MessageBox.Show(ws.Name);

     

        wbs.Close();
    }

     

     

    2007年9月26日 上午 10:40