专业的编程技术博客社区

网站首页 > 博客文章 正文

C#快速读取Excel单元格数据(c#读取excel中数据)

baijin 2024-10-15 08:30:30 博客文章 9 ℃ 0 评论

使用COM接口读取Excel单元格数据,按常规一个一个读取大量数据非常慢,可以使用Value2一次性读取,速度飞快。

从sheet1表中读取

sheet = ActiveWorkbook.Sheets["sheet1"];

object[,] data = sheet.Cells[1, 1].resize[6, 5].Value2;

或者用Range:

object[,] data = sheet.Range["A1"].resize[6, 5].Value2;

object[,] data = sheet.Range["A1", "E6"].Value2;

读出来的是一个object类型的二维数组,然后用Convert转换为需要的类型。需要注意的是:

(1) Excel返回的二维数组的行列下标都是从1开始,而不是0。

for (long i=1; i<=data..GetLongLength(0); i++)

{

for (long j=1; j<=data..GetLongLength(1); j++)

{

Trace.WriteLine(data[i, j]);

}

}

(2) 若只有一个单元格会出错,只能用value。


写入Excel也一样:

sheet.Cells[1, 7].resize[6, 5].Value2 = data;

或者用Range:

sheet.Range["G1"].resize[6, 5].Value2 = data;

sheet.Range["G1", "K6"].Value2 = data;

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表