1
我使用的.NET库Excel-DNA公开了Excel的C-API到C#代码。使用xlfGetDocument
功能像这样(我特别希望ints
):使用Excel C-API函数`xlfGetDocument`返回'最后一次使用的行/列'返回的值超出'实际使用的范围'
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'参数应该返回最后一个行/列的最后一行。但这种情况并非如此。
这是为什么?
从获得上述纸张的使用范围之后,我用Excel-DNA以获得实际的内容:
contentReference = new ExcelReference(0, rowLast, 0, colLast);
contents = (object[,])contentReference.GetValue();
我怎样才能得到实际使用的范围,而不应用一个过滤器内容(似乎应该只是不必要的开销)?