C#中获取Excel文件中的表名

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)); 

 

posted @   古道轻风  阅读(1180)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示