在项目中经常涉及到基础数据的导入的问题,很多时候就需要从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;
}
分享到:
相关推荐
本文将介绍如何将外部Excel数据放到一个List或者DataSet,包括从文件上传到数据转换的整个过程。 标题解释 将外部Excel数据放到一个List或者DataSet,顾名思义,就是将外部的Excel文件中的数据提取出来,并将其转换...
这个过程涉及从数据库中提取数据,然后将这些数据填充到Excel工作表中,以创建用户所需的特定格式。以下是对整个过程的详细解释: 首先,我们需要连接到数据库。在示例代码中,使用的是SQL Server数据库,通过`...
在IT领域,数据处理是一项常见的任务,特别是在大数据分析和数据管理中。本实例涉及的核心知识点是将文本(txt)格式的数据提取...在实际应用中,根据具体需求,可能还会涉及到数据可视化、数据库交互等更高级的技能。
- 在实际项目中,通常会在选择文件后调用之前定义的方法`GetDataFromExcel`来获取Excel数据,然后将这些数据绑定到DataGridView上。 - 绑定过程通常是通过设置DataGridView的`DataSource`属性为`DataTable`对象。 ...
本教程详细介绍了如何使用ArcGIS Engine从Excel表格中提取数据,并基于这些数据创建Shapefile(Shp文件)。这一过程涉及多个步骤,包括连接Excel文件、读取数据、创建新的Shapefile以及向新文件中添加几何数据和属性...
然后,使用 `OleDbDataAdapter` 来填充一个 `DataSet` 对象,这个对象将包含从Excel工作表中提取的所有数据。 为了将数据导入SQL Server,你需要创建一个数据库表结构,其字段与Excel工作表中的列匹配。这可以通过...
DataAdapter作为连接数据源和DataSet的桥梁,通过Fill方法可以将数据源中的数据填充到DataSet中的DataTable。 6. Windows Forms编程:文件提到了使用Visual C++创建Windows Forms应用程序(Form),并引用了System....
综上所述,操作Excel文件不仅涉及到数据访问接口的选择,还包括数据读取、写入、结构获取等多个方面。正确地运用这些技术,可以使你在处理Excel数据时既高效又灵活。同时,随着技术的发展,现在还有更多如EPPlus等第...
自定义方法`ExcelToDS`实现了从Excel文件路径读取数据并填充到DataSet中。此方法构造了连接字符串,利用`OleDbConnection`类建立连接,执行SQL查询语句(从指定工作表读取数据),并使用`OleDbDataAdapter`填充...
6. **填充数据集**:将Excel数据填充到DataSet或DataTable对象中,以便于与数据库交互。 7. **插入数据**:使用数据适配器的Update方法将DataTable中的数据批量写入Access数据库。这一步通常涉及开始事务、执行更新...
- **使用“Add Reader”工具**:通过该工具选择“Microsoft Excel”格式,并指定要读取的文件路径。 - **参数设置**:在参数对话框中选择要导入的工作表,并预览数据,同时设置列的数据类型。 - **公式与超链接**:...
此过程涉及到几个关键步骤:连接Excel文件、读取Excel中的数据,并最终将这些数据导入数据库。 1. **连接Excel文件**: - 使用OLE DB Provider(如`Microsoft.Jet.OLEDB.4.0`)来连接Excel文件。这个Provider允许...
这部分代码使用了OLE DB提供程序(`Microsoft.Jet.OLEDB.4.0`)连接到Excel文件,并从中提取数据填充到`DataTable`对象中。这里需要注意的是连接字符串的配置以及SQL查询语句的设计。 ```csharp public static ...
3. **本地DataSet中的数据类型转换为对应的OleDB的数据类型:** - 在之前的版本中,所有数据都以字符串形式导出,导致时间、数字和文本类型的数据在Excel中无法区分其原本的数据类型。 - 新版本改进后能够自动识别...
在日常工作中,经常需要将Excel中的数据批量导入到数据库中,以实现数据的有效管理和利用。本文档将详细讲解如何通过编写后端代码来完成这一过程,并针对不同版本的Excel文件(如.xls和.xlsx)进行兼容处理。 #### ...
这个过程在开发环境中非常常见,特别是在需要从Excel工作簿提取数据或将数据导入到数据库的应用程序中。 描述中提到的“项目已使用”,表明这是一个实际开发项目的一部分,可能用于自动化数据处理、报表生成或数据...
它允许程序员将数据存储到文件中,或者从文件中提取数据。文件读写分为两种基本类型:**文件读取** 和 **文件写入**。 - **文件读取**:指的是从文件中获取信息,并将其加载到内存中进行处理。 - **文件写入**:指...
在***中实现将Excel的多个sheet导入到SQL Server的过程涉及一系列步骤,包括设置数据连接、读取Excel文件中的sheet名称、从每个sheet中提取数据,并将这些数据存储到DataSet中,最后将数据集中的内容插入到SQL ...
这段代码展示了完整的数据导入流程,从读取Excel文件、数据提取到数据转换和插入SQL Server数据库的每一个步骤。值得注意的是,实际应用中应确保数据类型匹配、错误处理机制健全以及安全性措施到位,例如避免SQL注入...
本文将详细介绍如何通过编程方式从数据库中提取数据,并将其导出到Word文档(.doc)、Excel表格(.xls)以及纯文本文件(.txt)中。 #### 技术背景 该技术主要涉及到几个关键领域:数据库连接与查询、文件操作以及...