gpt4 book ai didi

c# - 使用 npoi 单元格范围地址读取 excel

转载 作者:行者123 更新时间:2023-11-30 13:46:26 25 4
gpt4 key购买 nike

我知道 NPOI 非常适合创建 excel 文件。现在我想在特定列中阅读 excel。这是我的 excel 格式:

           D       E       F       G       H
3 Col1 Col2 Col3 Col4 Col5
4 a 1 1/1/2014
5 b 2 2/1/2014
6 c 3 3/1/2014
7 d 4 4/1/2014
8 e 5 5/1/2014

我只想获取 Col2、Col4 和 Col5 中的数据。它应该是这样的:

Col2   Col4   Col5
a 1 1/1/2014
b 2 2/1/2014
c 3 3/1/2014
d 4 4/1/2014
e 5 5/1/2014

我必须做什么?我可以使用范围地址获取特定列然后获取单元格值吗?

感谢专家。

最佳答案

如果您有一个固定的工作表模板,实现您想要的效果的最简单方法是遍历行并检索指定索引处的单元格值。

例如,基于OP的例子:

var sheet = workbook.GetSheetAt(0); // assuming 0 is the worksheet index
for (var i = 0; i <= sheet.LastRowNum; i++)
{
var row = sheet.GetRow(i);
if (row == null) continue;

// do your work here
Console.Write("{0}\t", row.GetCell(4));
Console.Write("{0}\t", row.GetCell(6));
Console.Write("{0}\t", row.GetCell(7));
Console.WriteLine();
}

但如果您坚持使用范围地址,您可以尝试使用 CellRangeAddress 类,如下所示:

var sheet = workbook.GetSheetAt(0);
var range = "E3:H8";
var cellRange = CellRangeAddress.ValueOf(range);

for (var i = cellRange.FirstRow; i <= cellRange.LastRow; i++)
{
var row = sheet.GetRow(i);
for (var j = cellRange.FirstColumn; j <= cellRange.LastColumn; j++)
{
// skip cell with column index 5 (column F)
if (j == 5) continue;

// do your work here
Console.Write("{0}\t", row.GetCell(j));
}

Console.WriteLine();
}

关于c# - 使用 npoi 单元格范围地址读取 excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21229203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com