您可以使用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。