C# 读取Excel数据到DataTabel

ContractedBlock.gif ExpandedBlockStart.gif View Code
 
   
/// <summary>
/// 根据excel的文件的路径提取其中表的数据
/// </summary>
/// <param name="Path"> Excel文件的路径 </param>
private void GetDataFromExcelWithAppointSheetName( string Path)
{
// 连接串
string strConn = " Provider=Microsoft.Jet.OLEDB.4.0; " + " Data Source= " + Path + " ; " + " Extended Properties=Excel 8.0; " ;
OleDbConnection conn
= new OleDbConnection(strConn);

conn.Open();

// 返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等
DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object [] { null , null , null , " Table " });

// 包含excel中表名的字符串数组
string [] strTableNames = new string [dtSheetName.Rows.Count];
for ( int k = 0 ; k < dtSheetName.Rows.Count; k ++ )
{
strTableNames[k]
= dtSheetName.Rows[k][ " TABLE_NAME " ].ToString();
}

OleDbDataAdapter myCommand
= null ;
DataTable dt
= new DataTable();

// 从指定的表明查询数据,可先把所有表明列出来供用户选择
string strExcel = " select * from [ " + strTableNames[ 0 ] + " ] " ;
myCommand
= new OleDbDataAdapter(strExcel, strConn);
dt
= new DataTable();
myCommand.Fill(dt);

dataGridView1.DataSource
= dt; // 绑定到界面

转载于:https://www.cnblogs.com/Mr0909/archive/2011/05/16/2048022.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值