`
weizhai12
  • 浏览: 149385 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

根据excel的文件的路径提取其中表的数据到DataSet中

 
阅读更多

在项目中经常涉及到基础数据的导入的问题,很多时候就需要从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数据放到一个List或者DataSet,顾名思义,就是将外部的Excel文件中的数据提取出来,并将其转换...

    使用C#从数据库中提取数据,按要求自动生成定制的Excel表格

    这个过程涉及从数据库中提取数据,然后将这些数据填充到Excel工作表中,以创建用户所需的特定格式。以下是对整个过程的详细解释: 首先,我们需要连接到数据库。在示例代码中,使用的是SQL Server数据库,通过`...

    txt提取数据转xls文件实例

    在IT领域,数据处理是一项常见的任务,特别是在大数据分析和数据管理中。本实例涉及的核心知识点是将文本(txt)格式的数据提取...在实际应用中,根据具体需求,可能还会涉及到数据可视化、数据库交互等更高级的技能。

    winform excel表格数据导入datagridview

    - 在实际项目中,通常会在选择文件后调用之前定义的方法`GetDataFromExcel`来获取Excel数据,然后将这些数据绑定到DataGridView上。 - 绑定过程通常是通过设置DataGridView的`DataSource`属性为`DataTable`对象。 ...

    ArcGIS Engine根据Excel表格建立Shp文件

    本教程详细介绍了如何使用ArcGIS Engine从Excel表格中提取数据,并基于这些数据创建Shapefile(Shp文件)。这一过程涉及多个步骤,包括连接Excel文件、读取数据、创建新的Shapefile以及向新文件中添加几何数据和属性...

    如何实现将Excel表(含多张数据库表)导入数据库(SQLServer).doc

    然后,使用 `OleDbDataAdapter` 来填充一个 `DataSet` 对象,这个对象将包含从Excel工作表中提取的所有数据。 为了将数据导入SQL Server,你需要创建一个数据库表结构,其字段与Excel工作表中的列匹配。这可以通过...

    excel编程.pdf

    DataAdapter作为连接数据源和DataSet的桥梁,通过Fill方法可以将数据源中的数据填充到DataSet中的DataTable。 6. Windows Forms编程:文件提到了使用Visual C++创建Windows Forms应用程序(Form),并引用了System....

    excel 文件操作

    综上所述,操作Excel文件不仅涉及到数据访问接口的选择,还包括数据读取、写入、结构获取等多个方面。正确地运用这些技术,可以使你在处理Excel数据时既高效又灵活。同时,随着技术的发展,现在还有更多如EPPlus等第...

    C#对SQL_Server中的数据导入导出

    自定义方法`ExcelToDS`实现了从Excel文件路径读取数据并填充到DataSet中。此方法构造了连接字符串,利用`OleDbConnection`类建立连接,执行SQL查询语句(从指定工作表读取数据),并使用`OleDbDataAdapter`填充...

    asp.net将Excel数据写入Access数据库中

    6. **填充数据集**:将Excel数据填充到DataSet或DataTable对象中,以便于与数据库交互。 7. **插入数据**:使用数据适配器的Update方法将DataTable中的数据批量写入Access数据库。这一步通常涉及开始事务、执行更新...

    Excel与FME指南

    - **使用“Add Reader”工具**:通过该工具选择“Microsoft Excel”格式,并指定要读取的文件路径。 - **参数设置**:在参数对话框中选择要导入的工作表,并预览数据,同时设置列的数据类型。 - **公式与超链接**:...

    excel 导入数据库

    此过程涉及到几个关键步骤:连接Excel文件、读取Excel中的数据,并最终将这些数据导入数据库。 1. **连接Excel文件**: - 使用OLE DB Provider(如`Microsoft.Jet.OLEDB.4.0`)来连接Excel文件。这个Provider允许...

    导入Excel到Sql

    这部分代码使用了OLE DB提供程序(`Microsoft.Jet.OLEDB.4.0`)连接到Excel文件,并从中提取数据填充到`DataTable`对象中。这里需要注意的是连接字符串的配置以及SQL查询语句的设计。 ```csharp public static ...

    Excel导入导出算法(C#)

    3. **本地DataSet中的数据类型转换为对应的OleDB的数据类型:** - 在之前的版本中,所有数据都以字符串形式导出,导致时间、数字和文本类型的数据在Excel中无法区分其原本的数据类型。 - 新版本改进后能够自动识别...

    excel的数据导入数据库

    在日常工作中,经常需要将Excel中的数据批量导入到数据库中,以实现数据的有效管理和利用。本文档将详细讲解如何通过编写后端代码来完成这一过程,并针对不同版本的Excel文件(如.xls和.xlsx)进行兼容处理。 #### ...

    OfficeExcel连接查询microsoft.ACE.oledb组件

    这个过程在开发环境中非常常见,特别是在需要从Excel工作簿提取数据或将数据导入到数据库的应用程序中。 描述中提到的“项目已使用”,表明这是一个实际开发项目的一部分,可能用于自动化数据处理、报表生成或数据...

    文件读写——WinForm程序

    它允许程序员将数据存储到文件中,或者从文件中提取数据。文件读写分为两种基本类型:**文件读取** 和 **文件写入**。 - **文件读取**:指的是从文件中获取信息,并将其加载到内存中进行处理。 - **文件写入**:指...

    asp.net实现将Excel中多个sheet数据导入到SQLSERVER中的方法

    在***中实现将Excel的多个sheet导入到SQL Server的过程涉及一系列步骤,包括设置数据连接、读取Excel文件中的sheet名称、从每个sheet中提取数据,并将这些数据存储到DataSet中,最后将数据集中的内容插入到SQL ...

    excel导入sqlserver

    这段代码展示了完整的数据导入流程,从读取Excel文件、数据提取到数据转换和插入SQL Server数据库的每一个步骤。值得注意的是,实际应用中应确保数据类型匹配、错误处理机制健全以及安全性措施到位,例如避免SQL注入...

    从数据库导出数据到wordexceltxt.pdf

    本文将详细介绍如何通过编程方式从数据库中提取数据,并将其导出到Word文档(.doc)、Excel表格(.xls)以及纯文本文件(.txt)中。 #### 技术背景 该技术主要涉及到几个关键领域:数据库连接与查询、文件操作以及...

Global site tag (gtag.js) - Google Analytics