温馨提示×

怎么用c#读取excel文件内容

小亿
121
2023-10-21 22:48:16
栏目: 编程语言

你可以使用Microsoft.Office.Interop.Excel命名空间下的Excel对象来读取Excel文件内容。

首先,你需要在项目中引用Microsoft.Office.Interop.Excel库。这可以通过在解决方案资源管理器中,右键单击“引用”并选择“添加引用”,然后在“COM”选项卡下找到“Microsoft Excel XX.X Object Library”。

接下来,你可以使用以下代码来读取Excel文件内容:

using Excel = Microsoft.Office.Interop.Excel;

public void ReadExcel(string filePath)
{
    Excel.Application excelApp = new Excel.Application();
    Excel.Workbook workbook = excelApp.Workbooks.Open(filePath);
    Excel.Worksheet worksheet = workbook.Sheets[1]; // 选择第一个工作表

    int rowCount = worksheet.UsedRange.Rows.Count;
    int colCount = worksheet.UsedRange.Columns.Count;

    for (int row = 1; row <= rowCount; row++)
    {
        for (int col = 1; col <= colCount; col++)
        {
            Excel.Range range = (Excel.Range)worksheet.Cells[row, col];
            string cellValue = range.Value2.ToString();
            Console.WriteLine(cellValue);
        }
    }

    workbook.Close();
    excelApp.Quit();
}

在上面的代码中,filePath是Excel文件的路径。首先,创建一个Excel应用程序对象(excelApp),然后打开Excel文件(workbook)。接下来,选择要读取的工作表(worksheet),并获取工作表中使用的行数和列数。然后,使用嵌套的循环遍历每个单元格,并将单元格的值打印到控制台。最后,关闭工作簿和Excel应用程序对象。

请注意,为了正确释放COM对象,在使用完Excel对象后,应调用Marshal.ReleaseComObject方法来释放对应的资源。例如,在关闭工作簿之后,可以添加以下代码:

Marshal.ReleaseComObject(worksheet);
Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(excelApp);

这样可以确保在代码执行完毕后,Excel进程正常退出,并释放相关的资源。

希望对你有所帮助!

0