private void GetTestData()
{
string fileName = @"C:\Users\Administrator\Desktop\费用.xlsx";
OleDbConnection Conn = null;
DataTable dt = null;
string connString = string.Empty;
OleDbDataAdapter da = new OleDbDataAdapter();
DataTable dataTable = new DataTable();
try
{
string FileType = fileName.Substring(fileName.LastIndexOf("."));
if (FileType == ".xls")
connString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";Extended Properties=Excel 8.0;";
else//.xlsx
connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
// 创建连接对象
Conn = new OleDbConnection(connString);
// 打开数据库连接
Conn.Open();
//获取Excel工作薄中Sheet页(工作表)名集合
DataTable ss = Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
string sql_F = "Select * FROM [{0}]";
for (int i = 0; i < ss.Rows.Count; i++)
{
da.SelectCommand = new OleDbCommand(String.Format(sql_F, ss.Rows[i][2].ToString()), Conn);
da.Fill(dataTable);
}
HisDataTable = dataTable;
}
catch (Exception)
{
}
finally
{
// 释放
if (Conn != null)
{
Conn.Close();
Conn.Dispose();
}
if (dt != null)
{
dt.Dispose();
}
}
}
读取Excel中的数据,集成到DataTable中
最新推荐文章于 2021-12-06 23:07:31 发布
这段代码演示了如何使用OleDb连接从Excel文件中读取数据到DataTable。它首先检查文件类型,然后根据.xls或.xlsx后缀创建合适的连接字符串。接着,它打开数据库连接,获取所有工作表名称,并对每个工作表执行SQL查询填充DataTable。
2245

被折叠的 条评论
为什么被折叠?



