C# 得到Microsoft.Office.Interop.Excel.Worksheet前一页最后一行
时间: 2023-12-14 13:02:53 浏览: 152
要得到 Microsoft.Office.Interop.Excel.Worksheet 的前一页的最后一行,可以使用以下代码:
```csharp
using Excel = Microsoft.Office.Interop.Excel;
Excel.Worksheet worksheet = // 获取工作表对象
int currentPage = worksheet.Application.ActiveWindow.ScrollRow; // 获取当前页的第一行行号
int previousPage = worksheet.Application.ActiveWindow.ScrollRow - 1; // 获取前一页的第一行行号
// 获取前一页的最后一行行号
int previousPageLastRow = worksheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, previousPage, 1).Row;
```
这里使用了 Cells.SpecialCells 方法来获取前一页的最后一个单元格,然后获取该单元格所在的行号即可。需要注意的是,这里指定了起始行为 `previousPage`,即前一页的第一行行号,因此在当前页已经是第一页时需要进行额外的判断,否则会出现行号为负数的情况。
相关问题
C#中如何得到excel前一页跟下一页临界
你可以使用 Microsoft.Office.Interop.Excel 库来操作 Excel,下面是一个获取 Excel 前一页和下一页临界的示例代码:
```csharp
using Microsoft.Office.Interop.Excel;
// 打开 Excel 文件
Application excel = new Application();
Workbook workbook = excel.Workbooks.Open("excel文件路径");
Worksheet worksheet = workbook.Worksheets[1];
// 获取当前活动窗口
Window window = excel.ActiveWindow;
// 获取当前激活窗口的可见区域
Range visibleRange = window.VisibleRange;
// 获取可见区域的第一行和最后一行的行号
int firstRow = visibleRange.Row;
int lastRow = visibleRange.Row + visibleRange.Rows.Count - 1;
// 计算前一页和下一页临界
int prevPage = firstRow - 1;
int nextPage = lastRow + 1;
// 输出结果
Console.WriteLine("前一页临界:" + prevPage);
Console.WriteLine("下一页临界:" + nextPage);
// 关闭 Excel 文件
excel.Quit();
```
上面的代码中,我们首先使用 Microsoft.Office.Interop.Excel 库打开 Excel 文件,然后获取当前活动窗口和可见区域的第一行和最后一行的行号,最后根据这些信息计算前一页和下一页临界。注意,在使用 Microsoft.Office.Interop.Excel 库之前,你需要在项目中添加对该库的引用。
阅读全文