C#中獲取Excel檔案中的表名

iDotNetSpace發表於2008-09-25

excel檔案中第一個表名的預設值是sheet1$, 但有時也會被改變為其他名字. 如果需要在C#中使用OleDb讀寫Excel檔案, 就需要知道這個名字是什麼. 以下程式碼就是實現這個功能的: 

using System; 

using System.IO; 

using System.Data; 

using System.Data.OleDb; 

namespace Skyiv.Ben.Util 

sealed class Pub 

public static string GetExcelFirstTableName(string excelFileName) 

string tableName = null; 

if (File.Exists(excelFileName)) 

using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet."+ 

"OLEDB.4.0;Extended Properties=\"Excel 8.0\";Data Source=" + excelFileName)) 

conn.Open(); 

DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 

tableName = dt.Rows[0][2].ToString().Trim(); 

return tableName; 

namespace Skyiv.Ben.Test 

using Skyiv.Ben.Util; 

class MainTest 

static void Main(string [] args) 

foreach (string s in args) 

Console.WriteLine("[{0}] => [{1}]", s, Pub.GetExcelFirstTableName(s)); 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-464294/,如需轉載,請註明出處,否則將追究法律責任。

相關文章