gpt4 book ai didi

c# - 需要在 C# 中找到 Excel 范围的起点和终点

转载 作者:太空狗 更新时间:2023-10-29 21:11:16 28 4
gpt4 key购买 nike

我正在尝试使用 COM 从 C# 读取一个 excel 文件,并且可以很好地打开和加载它。但是,我不想使用工作表上的所有数据(它每月扩展一次),只是从工作表顶部下方开始的某个子集(第 3 行用于标题,第 4 行用于数据)并结束.我目前可以获得一个表示整个数据集的范围,如 Excel.Worksheet.UsedRange,但接下来我需要将其操作到所需范围,或者(最好)找到要传递的终点进入我实际数据检索的另一个范围。谁能告诉我如何做这些中的任何一个?谢谢。

最佳答案

我不确定你想做什么。但这里有一些例子。

假设我有以下范围:

Excel.Worksheet sheet = this.Application.ActiveSheet as Excel.Worksheet;
Excel.Range range = sheet.get_Range("A1", "B5") as Excel.Range;

将范围向下移动 n - 行数:

int n = 1;
int rows = range.Rows.Count;
int cols = range.Columns.Count;

Excel.Range newRange = range.get_Offset(n, 0).get_Resize(rows-n,cols);
newRange.Select(); //will select the new range will be 1 row lower

向上移动底行

Excel.Range newRange = range.get_Resize(rows-n,cols);
newRange.Select(); //will select the new range will be 1 row higher

我想您可以想出如何将它左右移动。

get_Offset() 将移动整个范围,然后您需要调整范围的大小。

编辑:现在我知道你想要什么了。

选择最后一个单元格:

Excel.Range lastCell = range.Cells[rows, cols] as Excel.Range;
lastCell.Select();

现在您可以像这样使用自己的起点:

Excel.Range newRange = sheet.get_Range("B1", lastCell);
newRange.Select();

关于c# - 需要在 C# 中找到 Excel 范围的起点和终点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2290916/

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