溫馨提示×

c# office如何讀取Excel數(shù)據(jù)

c#
小樊
154
2024-07-26 20:01:12
欄目: 編程語言

您可以使用C#中的Office Interop來讀取Excel數(shù)據(jù)。以下是一些示例代碼,演示如何使用Office Interop來讀取Excel數(shù)據(jù):

using Excel = Microsoft.Office.Interop.Excel;

public void ReadExcelData(string filePath)
{
    Excel.Application excelApp = new Excel.Application();
    Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(filePath);
    Excel.Worksheet excelWorksheet = excelWorkbook.Sheets[1];
    Excel.Range excelRange = excelWorksheet.UsedRange;

    int rowCount = excelRange.Rows.Count;
    int colCount = excelRange.Columns.Count;

    for (int i = 1; i <= rowCount; i++)
    {
        for (int j = 1; j <= colCount; j++)
        {
            string cellValue = excelRange.Cells[i, j].Value2.ToString();
            Console.WriteLine(cellValue);
        }
    }

    excelWorkbook.Close();
    excelApp.Quit();

    releaseObject(excelRange);
    releaseObject(excelWorksheet);
    releaseObject(excelWorkbook);
    releaseObject(excelApp);
}

private void releaseObject(object obj)
{
    try
    {
        System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
        obj = null;
    }
    catch (Exception ex)
    {
        obj = null;
        Console.WriteLine("Exception Occurred while releasing object " + ex.ToString());
    }
    finally
    {
        GC.Collect();
    }
}

在這個示例中,ReadExcelData方法打開一個Excel文件,并讀取第一個工作表的數(shù)據(jù)。然后,它遍歷每個單元格并將其值打印到控制臺。最后,記得在完成操作后釋放Excel對象,以避免內存泄漏。

請注意,使用Office Interop可能會導致一些性能問題和不穩(wěn)定性,因為它依賴于安裝了相應的Office應用程序。如果您要處理大量數(shù)據(jù)或需要更高性能和更穩(wěn)定的解決方案,您可能需要考慮使用第三方庫,如EPPlus或NPOI。

0