在项目中经常涉及到基础数据的导入的问题,很多时候就需要从Excel中获取数据,下面提供一个从Excel文件提取数据到DataSet中方法:
/// <summary>
/// 根据excel的文件的路径提取其中表的数据
/// </summary>
/// <param name="Path">Excel文件的路径</param>
/// <returns></returns>
public static DataSet GetDataFromExcel(string Path)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn;
DataSet ds = new DataSet();
try
{
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];
string[] strTables = new string[dtSheetName.Rows.Count];
int k;
string temp;
string[] ids = new string[dtSheetName.Rows.Count];
for (k = 0; k < dtSheetName.Rows.Count; k++)
{
temp = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
strTables[k] = temp.Trim('$');
strTableNames[k] = temp;
}
OleDbDataAdapter myCommand = null;
for (k = 0; k < dtSheetName.Rows.Count; k++)
{
DataTable dt = new DataTable();
//从指定的表明查询数据,可先把所有表明列出来供用户选择
string strExcel = "select * from [" + strTableNames[k] + "]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(dt);
dt.TableName = strTables[k];
ds.Tables.Add(dt);
}
conn.Close();
}
catch (Exception ex)
{
//写错误日志...
string strOuput = string.Format("获取文件中数据失败,错误信息:{0},异常{1}\n",ex.Message,ex.InnerException);
//将信息写入到日志输出文件
DllComm.TP_WriteAppLogFileEx(DllComm.g_AppLogFileName, strOuput);
}
return ds;
}
分享到:
相关推荐
C# 将Excel文件的数据表导入至DataSet,并可以指定各列对应的列名.
C#从Excel中提取数据到DataGridView中显示出来 以excel为数据源,建立连接,把excel中的数据读到dataset中,再赋给datagridview,显示出来。
将数据从DataSet写入XML文件,将数据从DataSet写入XML文件,将数据从DataSet写入XML文件,将数据从DataSet写入XML文件。
Excel 读取 读取Excel到Dataset中
公司因业务需求,需要开发一个自动向供应商发送邮件的系统。难点是 邮件需附带一个Excel附件,此...根据供应商的不同而不同,相关部门已提供一个Excel内容模板。 用VS2010写了一个例子,解决了此问题。与大家分享!
Delphi使用DataSet读取数据生成Excel文件,在代码中并没有使用OLE和ADO技术,将DataSet直接写入.XLS档(不需要Excel/不需要OLE/不需要ADO)。我想这个功能,特别是在一些大型的数据库软件系统中,涉及到数据报表的时候...
.xls文件转DataSet类 把一个execl文件转换成DataSet的类
一个小程序,从excel读取数组到dataset 再到数组
从数据库中获取数据显示在Datagridview中,然后将数据导入到excel或从Dataset直接将数据导出到excel
从源库源表中取出数据到dataset,然后存到数据结构完全相同的目的表中。
DataSet导入Excel表格中
.net(dataset)输出流导出excel(无需生成模版excel文件,直接输出数据流导出excel表格)
twitter数据流数据(数据集dataset).ziptwitter数据流数据(数据集dataset).ziptwitter数据流数据(数据集dataset).ziptwitter数据流数据(数据集dataset).ziptwitter数据流数据(数据集dataset).ziptwitter...
类似于DataSet的数据集合,都可以将数据写入Excel表
DataSet转换为Excel
DataSet 或 DataTable 导出到 Excel
传递过来一长串字符串;动态生成DataSet填充数据并导成Excel格式;
传个excel 路径,一句话调用直接转成dataSet 里面看excel 几个Sheet 就几个DataTable
将Dataset导出到Excel,本程序阐述基本功能-Dataset exported to Excel, the program described the basic functions of
C# 源码 EXCEL导入到Dataset,Dataset导出到Excel