C#如何高效获取excel表格中所有有数据单元格的数据
时间: 2024-02-05 12:12:16 浏览: 28
你可以使用C#的Excel Interop来读取Excel表格中所有有数据单元格的数据。下面是一段示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
namespace ReadExcel
{
class Program
{
static void Main(string[] args)
{
Application excelApp = new Application();
Workbook workbook = excelApp.Workbooks.Open(@"C:\test.xlsx");
Worksheet worksheet = workbook.Sheets[1];
Range usedRange = worksheet.UsedRange;
int rowCount = usedRange.Rows.Count;
int colCount = usedRange.Columns.Count;
for (int i = 1; i <= rowCount; i++)
{
for (int j = 1; j <= colCount; j++)
{
Range cell = usedRange.Cells[i, j];
if (cell.Value != null)
{
Console.WriteLine(cell.Value.ToString());
}
}
}
workbook.Close(false);
excelApp.Quit();
Console.ReadLine();
}
}
}
```
该代码使用Excel Interop打开一个Excel工作簿,并读取其中第一个工作表的所有有数据的单元格的值。遍历单元格时,使用了UsedRange属性获取有数据的单元格范围,并且判断单元格的值是否为空,如果不为空,则输出到控制台。
注意:使用Excel Interop需要安装Microsoft Office软件,并且在使用完毕后需要释放COM对象,否则会导致内存泄漏。