C#把EXCEL数据转换成DataTable

下面是详细讲解"使用C#将Excel数据转换为DataTable"的完整攻略:

准备工作

在使用C#处理Excel文件的时候,我们需要先安装Microsoft.Office.Interop.ExcelMicrosoft.Office.Core这两个组件。可以通过Nuget包管理器安装这两个组件。

方法一:使用OleDb读取Excel数据

这种方法适用于xlsxlsx文件,具体实现步骤如下:

  1. 使用OleDbConnection对象连接Excel文件
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=yourExcelFilePath;Extended Properties=Excel 12.0;";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
  1. 使用OleDbDataAdapter对象读取Excel数据
string sqlCommand = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter adapter = new OleDbDataAdapter(sqlCommand, connection);
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
  1. 释放资源
adapter.Dispose();
connection.Close();

示例:

string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=yourExcelFilePath;Extended Properties='Excel 12.0;HDR=YES;'";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
    connection.Open();
    string commandString = "SELECT * FROM [Sheet1$]";
    using (OleDbDataAdapter adapter = new OleDbDataAdapter(commandString, connection))
    {
        DataTable dataTable = new DataTable();
        adapter.Fill(dataTable);
        // 可以使用dataTable进行操作
    }
}

方法二:使用EPPlus读取Excel数据

EPPlus是一个用于操作xlsx格式Excel文件的开源库,可以通过Nuget包管理器安装。具体实现步骤如下:

  1. 使用ExcelPackage对象打开Excel文件
string filePath = "yourExcelFilePath";
ExcelPackage package = new ExcelPackage(new FileInfo(filePath));
  1. 获取Excel表格中的数据
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
DataTable dataTable = new DataTable();
for (int col = 1; col <= worksheet.Dimension.End.Column; col++)
{
    dataTable.Columns.Add(worksheet.Cells[1, col].Value.ToString());
}
for (int row = 2; row <= worksheet.Dimension.End.Row; row++)
{
    DataRow dataRow = dataTable.NewRow();
    for (int col = 1; col <= worksheet.Dimension.End.Column; col++)
    {
        dataRow[col - 1] = worksheet.Cells[row, col].Value;
    }
    dataTable.Rows.Add(dataRow);
}
  1. 释放资源
package.Dispose();

示例:

string filePath = "yourExcelFilePath";
ExcelPackage package = new ExcelPackage(new FileInfo(filePath));
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
DataTable dataTable = new DataTable();
for (int col = 1; col <= worksheet.Dimension.End.Column; col++)
{
    dataTable.Columns.Add(worksheet.Cells[1, col].Value.ToString());
}
for (int row = 2; row <= worksheet.Dimension.End.Row; row++)
{
    DataRow dataRow = dataTable.NewRow();
    for (int col = 1; col <= worksheet.Dimension.End.Column; col++)
    {
        dataRow[col - 1] = worksheet.Cells[row, col].Value;
    }
    dataTable.Rows.Add(dataRow);
}
package.Dispose();
// 可以使用dataTable进行操作

以上就是使用C#将Excel数据转换为DataTable的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#把EXCEL数据转换成DataTable - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C# TextWriter.WriteLineAsync – 异步写入一行字符

    C#中的 TextWriter.WriteLineAsync 方法是一种异步方式将文本写入到 TextWriter 或 StreamWriter 中,并以新的一行结束。这个方法返回一个表示异步写入操作的 Task 对象,我们可以用 await 关键字将异步任务转换为同步任务,等待异步任务完成后再执行下一步操作。 使用这个方法需要进行以下步骤: 创建一个 Te…

    C# 2023年4月19日
    00
  • .Net Core3.1 API访问进行频次限制

    首先,安装AspNetCore.RateLimit NuGet 包。您可以通过NuGet包管理器控制台或Visual Studio的NuGet包管理器来执行此操作。安装后,您将在项目中看到一个名为AspNetCoreRateLimit的文件夹,其中包含中间件的配置类。 接下来,您需要在 Startup.cs 文件中注册中间件。您可以在ConfigureSer…

    C# 2023年4月18日
    00
  • C#实现JSON字符串序列化与反序列化的方法

    下面是详细的C#实现JSON字符串序列化与反序列化的方法攻略: 一、什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript语言的一个子集,但是采用了类似于C语言家族的语法。JSON的格式比较简单明了且轻便,能够更好地支持Web端的数据交互,因此被广泛应用。 二、JSON序列化与反…

    C# 2023年5月31日
    00
  • C# Linq的Min()方法 – 返回序列中的最小值

    C#的Linq是一种强大的数据查询和操作工具,可以让程序员更加高效地使用各种数据源,其中Min()函数是Linq中常用的一个函数,接下来我们就来一步步讲解如何使用Min()函数。 Min()函数的简介 Min()是Linq中的一个聚合函数(Aggregation Function),可以用来在一组数据中找到最小值并返回。它可以用于各种类型的数据,包括整数、浮…

    C# 2023年4月19日
    00
  • winform简单缓存类实例

    下面是关于“winform简单缓存类实例”的完整攻略,包含两个示例。 1. 简单缓存类介绍 在WinForm应用程序中,缓存是一种常见的技术,用于提高应用程序的性能和响应速度。简单缓存类是一种基于内存的缓存技术,可以在应用程序中缓存数据,以便在需要时快速访问。 2. 实现简单缓存类 以下是实现简单缓存类的步骤: 2.1 创建缓存类 可以创建一个名为“Simp…

    C# 2023年5月15日
    00
  • c#读取文件详谈

    c#读取文件详谈 前言 在c#的应用中,读取文件是一项常见的操作。无论是读取文本文件、二进制文件,还是读取 Excel 文件、数据库文件,我们都需要用到 c# 读取文件的相关操作。在本篇文章中,我们将一步一步地讲解如何在 c# 中读取文件,希望对大家有所帮助。 读取文本文件 假设我们有一个文件叫做 text.txt,我们需要在 c# 中读取该文件中的数据。以…

    C# 2023年5月31日
    00
  • c#.net 常用函数和方法集

    C#.NET 常用函数和方法集 C#.NET 是一种常用的编程语言,拥有丰富的函数和方法集。在本文中,我们将介绍 C#.NET 常用的函数和方法集,以供开发者在编程过程中参考。 字符串处理 字符串截取 使用 Substring 函数可以实现对字符串的截取。 string str = "Hello, World!"; string subS…

    C# 2023年5月31日
    00
  • C#中事件的定义和使用

    C#中的事件是一种特殊的委托类型,它可以使对象在某个特定的时间点上引发或触发某个动作或事件。事件可以用于编写响应用户交互、处理消息通知等许多用途。 一、事件的定义 事件定义的基本语法格式如下: public delegate void SomeEventHandler(object sender, EventArgs e); public class Som…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部