【发布时间】:2017-02-10 22:51:18
【问题描述】:
我正在使用 .NET 库 Excel-DNA,它将 Excel 的 C-API 公开给 C# 代码。像这样使用xlfGetDocument 函数(我特别想要ints):
int rowLast = ((int)(double)XlCall.Excel(XlCall.xlfGetDocument, 10, sheetName) > 0) ? (int)(double)XlCall.Excel(XlCall.xlfGetDocument, 10, sheetName) - 1 : 0;
int colLast = ((int)(double)XlCall.Excel(XlCall.xlfGetDocument, 12, sheetName) > 0) ? (int)(double)XlCall.Excel(XlCall.xlfGetDocument, 12, sheetName) - 1 : 0;
返回一个rowLast 和一个rowFirst,这有点超出我的数据范围。根据 Steve Dalton 的《在 C/C++ 中使用 Excel 插件开发的财务应用程序》一书,此函数的 '10' 和 '12' 参数应返回最后一个 USED col/row。但事实并非如此。
这是为什么?
根据上面一张表的使用范围,我正在使用 Excel-DNA 来获取实际内容:
contentReference = new ExcelReference(0, rowLast, 0, colLast);
contents = (object[,])contentReference.GetValue();
如何在不对内容应用过滤器的情况下获得实际使用的范围(似乎这只是不必要的开销)?
【问题讨论】: