C#中获取Excel文件的第一个表名
// 2.以数据库方式打开并输入数据
// 此方式将xls文件所在目录看作数据库,其中的xls文件看作数据库表,表名即文件名(不加扩展名)。
// 函数importExcelToDataSet(string FilePath,string sheet)功能:从xls中读出数据到DataSet中,并返回DataSet对象。
private DataSet importExcelToDataSet(string FilePath/*即文件目录的路径*/, string sheet/*表名即文件名(不加扩展名)*/)
{
string strConn;
string getsheet;
getsheet = "SELECT * FROM [" + sheet + "]" ;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FilePath + ";Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter myCommand = new OleDbDataAdapter(getsheet, strConn);
DataSet myDataSet = new DataSet();
try
{
myCommand.Fill(myDataSet);
}
catch (Exception ex)
{
MessageBox.Show("该Excel文件的工作表的名字不正确," + ex.Message);
}
return myDataSet;
}
/// <summary>
/// C#中获取Excel文件的第一个表名
/// Excel文件中第一个表名的缺省值是Sheet1$, 但有时也会被改变为其他名字. 如果需要在C#中使用OleDb读写Excel文件, 就需要知道这个名字是什么. 以下代码就是实现这个功能的:
/// </summary>
/// <param name="excelFileName"></param>
/// <returns></returns>
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;
}
最新文章
- TortoiseSvn客户端出现Http state 405 &#39;Method Not Allowed&#39; 的解决办法
- 【树状数组套权值线段树】bzoj1901 Zju2112 Dynamic Rankings
- Sitecake – 可视化编辑,所见即所得的 CMS
- paper 7:支持向量机系列四:Outliers —— 介绍支持向量机使用松弛变量处理 outliers 方法。
- C# list 筛选FindAll,根据参数过滤
- CSS3弹性盒模型布局模块介绍
- CSS自学笔记(1):CSS简介
- html相关介绍
- 关于Two-Pass标记连通域个数
- CentOS 安装Chrome
- “XcodeGhost”病毒之后,苹果更应注…
- @Html.Partial 和 @Html.RenderPartial 异同
- was设置事务超时
- 在Java中执行Tomcat中startup.bat
- MySQL普通用户无法本地登录的解决方法及MySQL的用户认证算法
- Jenkins-pipeline
- TI(德州仪器) TMS320C674x逆向分析之二
- django 接口
- 【DevExpress v17.2新功能预告】DevExpress ASP.NET Scheduler新的自适应功能
- rsync + inotify 实时同步
热门文章
- 常用模块---sys&;logging&;序列化模块(json&;pickle)
- P3437 [POI2006]TET-Tetris 3D
- 跨平台移动开发_PhoneGap 使用Accelerometer 加速器
- iOS APP AppIcon&; LaunchImage
- 【FINAL】NOI
- 深入理解Servlet3.0异步请求
- XML文件解析-DOM4J方式和SAX方式
- [JSOI2016]灯塔
- spring boot: @EnableScheduling开启计划任务支持,@Scheduled计划任务声明
- jsonp: js跨域