C#使用oledb读取excel表格内容到datatable的方法

关于“C#使用oledb读取Excel表格内容到DataTable的方法”的攻略,我可以这样来进行详细讲解。

1. 需求

我们的需求是读取Excel表格的内容,并将其存储到DataTable中,以便于进行后续的操作和处理。

2. 准备工作

需要安装Microsoft ACE OLEDB运行库才能正常使用,还需要添加System.Data命名空间。

3. 读取Excel表

3.1 初始化oledb连接字符串

// excel文件路径
string filePath = "D:\\test.xlsx";

// 定义连接字符串
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'";

3.2 创建oledb连接对象

// 创建oledb连接对象
OleDbConnection connection = new OleDbConnection(connectionString);

3.3 打开连接

// 打开连接
connection.Open();

3.4 获取数据源的所有表名

// 获取数据源的所有表名
DataTable schemaTable = connection.GetSchema("Tables");

3.5 选择Excel表

// 选择Excel表
string sheetName = "Sheet1$"; // 选择第一个表格
string selectCommand = "SELECT * FROM [" + sheetName + "]"; // 查询语句
OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection);

3.6 填充数据到DataTable对象中

// 填充数据到DataTable对象中
DataTable table = new DataTable();
adapter.Fill(table);

3.7 关闭连接

// 关闭连接
connection.Close();

好了,至此,我们就成功地将Excel表格的内容读取到了DataTable中。

4. 示例

以下是两个示例:

示例一:将DataTable内容输出到控制台

Console.WriteLine("输出DataTable内容:");
foreach (DataRow row in table.Rows)
{
    foreach (DataColumn col in table.Columns)
    {
        Console.Write(row[col] + "\t");
    }
    Console.WriteLine();
}

示例二:将DataTable内容输出到一个新Excel表格中

// 输出到新表格中
string outputFilePath = "D:\\new.xlsx";
string outputSheetName = "Sheet1";

// 创建新的Excel文件
File.WriteAllBytes(outputFilePath, new byte[0]);
var excel = new ExcelPackage(new FileInfo(outputFilePath));

// 获取“Sheet1”工作表
var sheet = excel.Workbook.Worksheets.Add(outputSheetName);

// 输出标题行
int row = 1, col = 1;
foreach (DataColumn column in table.Columns)
{
    sheet.Cells[row, col++].Value = column.ColumnName;
}

// 输出数据行
foreach (DataRow r in table.Rows)
{
    row += 1; // 移动到下一行
    col = 1; // 列归1
    foreach (DataColumn c in table.Columns)
    {
        sheet.Cells[row, col++].Value = r[c];
    }
}

// 保存修改并关闭Excel文件
excel.Save();
excel.Dispose();

以上就是关于“C#使用oledb读取Excel表格内容到DataTable的方法”的详细介绍和代码示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#使用oledb读取excel表格内容到datatable的方法 - Python技术站

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

相关文章

  • ASP.NET MVC限制同一个IP地址单位时间间隔内的请求次数

    以下是“ASP.NET MVC限制同一个IP地址单位时间间隔内的请求次数”的完整攻略: 什么是ASP.NET MVC限制同一个IP地址单位时间间隔内的请求次数 ASP.NET MVC限制同一个IP地址单位时间间隔的请求次数是一种安全措施,用于防止恶意攻击和拒绝服务攻击。它可以限制同一个IP在一定时间内发送的请求次数,从而保护应用程序免受攻击。 ASP.NET…

    C# 2023年5月12日
    00
  • Vue.js学习示例分享

    Vue.js是一种流行的JavaScript框架,用于构建交互式Web界面。本文将分享一些Vue.js学习示例,包括Vue.js的基本用法、组件、路由和状态管理等。 示例一:Vue.js的基本用法 以下是一个简单的Vue.js示例代码,用于显示一个计数器: <!DOCTYPE html> <html> <head> &lt…

    C# 2023年5月15日
    00
  • Javascript的作用域、作用域链以及闭包详解

    Javascript的作用域、作用域链以及闭包详解 什么是作用域? 作用域是指代码中定义变量的区域,也是访问这些变量的规则。在Javascript中常见的作用域有全局作用域和函数作用域。 全局作用域 全局作用域是指定义在最外层的变量,在整个程序执行过程中都可以访问到。例如下面的代码: var name = "Lucy"; function…

    C# 2023年6月7日
    00
  • 鼠标右击事件代码(asp.net后台)

    鼠标右击事件是指用户在网页中使用鼠标右键时,触发的相关事件。在ASP.NET后台中,我们可以使用C#或VB.NET编写代码来处理鼠标右击事件。下面是一些详细的攻略和示例: 在页面中注册鼠标右击事件 我们可以通过JavaScript代码,在页面启动时注册鼠标右击事件,代码如下: <script type="text/javascript&quo…

    C# 2023年5月31日
    00
  • C# 操作 access 数据库的实例代码

    C# 操作 Access 数据库的实例代码攻略 1. 准备工作 操作 Access 数据库前,需要安装 Microsoft Access 数据库驱动程序。这个驱动程序是 Microsoft Office 已经具备的一个组件,安装后就可以进行访问了。安装方法如下: 点击”开始菜单“ -> ”控制面板“。 在控制面板中,打开”程序和功能“。 在程序和功能列…

    C# 2023年6月1日
    00
  • C#使用Aspose.Cells创建和读取Excel文件

    使用Aspose.Cells创建和读取Excel文件可以通过以下步骤实现: 1.下载和安装Aspose.Cells Aspose.Cells可以从官网下载并安装。 2.创建一个新的工作簿并添加工作表 using Aspose.Cells; // 创建一个新的工作簿 Workbook workbook = new Workbook(); // 在工作簿中添加一…

    C# 2023年5月31日
    00
  • 快速高效的C#FTP文件传输库FluentFTP

    简介: FluentFTP是一个用于C#语言的FTP客户端库,它提供了许多方便的功能和API,使FTP文件传输变得简单易用。FluentFTP的主要目标是提供简单易用的API,并同时提供足够的灵活性以满足大多数开发人员的需求。 FluentFTP支持FTP和FTPS协议,可以通过简单的API进行连接、上传、下载、删除、重命名等操作。此外,它还支持断点续传、文…

    C# 2023年5月9日
    00
  • 如何在C#项目中链接一个文件夹下的所有文件详解

    当我们需要在C#项目中链接一个文件夹下的所有文件时,可以通过以下方式实现: 在 Visual Studio 中创建 C# 项目。选择 “File” > “New” > “Project”,然后选择 “Visual C#” > “Windows” > “Console Application”。 在项目中添加文件夹。右键项目,选择 “A…

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