c#

C#如何操作Excel文件并读取数据

小樊
175
2024-10-10 01:51:43
栏目: 编程语言

在C#中操作Excel文件并读取数据,通常有两种主要的方法:使用Microsoft Office Interop Excel或者使用第三方库如EPPlus。以下是使用这两种方法的简要介绍:

使用Microsoft Office Interop Excel

  1. 首先,确保你的项目中已经引用了Microsoft Excel对象库。在Visual Studio中,你可以通过以下步骤来添加引用:
    • 右键点击项目名称,选择“添加引用”。
    • 在弹出的窗口中,浏览到“COM”选项卡。
    • 找到“Microsoft Excel xx.x Object Library”(其中xx.x是Excel的版本号),选中并点击“添加”。
  2. 添加引用后,你需要在代码中创建一个Excel Application对象,并使用它来打开、读取和操作Excel文件。以下是一个简单的示例代码,用于读取Excel文件中的数据:
using Excel = Microsoft.Office.Interop.Excel;

class Program
{
    static void Main()
    {
        // 创建Excel Application对象
        Excel.Application excelApp = new Excel.Application();
        excelApp.Visible = true; // 设置Excel应用程序为可见

        // 打开Excel文件
        Excel.Workbook workbook = excelApp.Workbooks.Open("path_to_your_excel_file.xlsx");

        // 获取工作表
        Excel.Worksheet worksheet = workbook.Sheets[1]; // 假设数据在第一个工作表中

        // 读取单元格数据
        for (int row = 1; row <= worksheet.Cells.Rows.Count; row++)
        {
            for (int col = 1; col <= worksheet.Cells.Columns.Count; col++)
            {
                string cellValue = worksheet.Cells[row, col].Value2.ToString(); // 获取单元格值
                Console.Write(cellValue + "\t"); // 输出单元格值
            }
            Console.WriteLine();
        }

        // 关闭工作簿并退出Excel应用程序
        workbook.Close();
        excelApp.Quit();
    }
}

注意:使用Microsoft Office Interop Excel方法需要在安装了Excel的计算机上运行,并且需要将Excel对象库添加到项目中。

使用EPPlus库

  1. 首先,你需要在你的项目中安装EPPlus库。你可以通过NuGet包管理器来安装它。在Visual Studio中,打开“工具”菜单,选择“NuGet包管理器” -> “管理解决方案的NuGet程序包”,然后在搜索框中输入“EPPlus”,找到并安装它。
  2. 安装完成后,你可以在代码中使用EPPlus库来操作Excel文件并读取数据。以下是一个简单的示例代码:
using OfficeOpenXml;
using System;

class Program
{
    static void Main()
    {
        // 创建ExcelPackage对象
        using (ExcelPackage excelPackage = new ExcelPackage())
        {
            // 加载Excel文件
            excelPackage.Load("path_to_your_excel_file.xlsx");

            // 获取工作表
            ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[0]; // 假设数据在第一个工作表中

            // 读取单元格数据
            for (int row = 1; row <= worksheet.Dimension.End.Row; row++)
            {
                for (int col = 1; col <= worksheet.Dimension.End.Column; col++)
                {
                    string cellValue = worksheet.Cells[row, col].Value.ToString(); // 获取单元格值
                    Console.Write(cellValue + "\t"); // 输出单元格值
                }
                Console.WriteLine();
            }
        }
    }
}

注意:使用EPPlus库方法不需要在安装了Excel的计算机上运行,并且不需要将Excel对象库添加到项目中。

0
看了该问题的人还看了