我一直在使用这些方法来计算工作表中的行数
getLastRowNum()
和
getPhysicalNumberOfRows()
他们在我的两张工作簿上工作正常。但是包含5行的第三张表格正在返回1个额外的两个函数。
Sheet NumberofRows getLastRowNum() getPhysicalNumberOfRows()
1 9 9 10
2 56 56 57
3 5 4 5
这两个功能的工作区别到底是什么,我能做些什么才能获得可靠的正确结果?
答案 0 :(得分:4)
<强> getLastRowNum()强>
,就像数组一样,如果n是行数,则从0开始到n-1。
<强> getPhysicalNumberOfRows()强>
因此,对于行数10, getLastRowNum()将 9 ,因为它从 0 开始。
这是getPhysicalNumberOfRows()
应该使用getLastRowNum()
而不是getLastRowNum()
的原因之一,因为如果表格中的行数为1,0
会返回0
,如果不能区分有0行或唯一的行位于getPhysicalNumberOfRows()
位置,而{{1}}将返回1。
答案 1 :(得分:1)
我发现内置方法不可靠(+/- 1不一致)所以我推出了自己的方法:
$scope.export = function() {
$scope.gridOptions.data.push({
"name": "Hello world",
"gender": 1,
"company": "test company"
});
$timeout(function() {//$timeout denote that you will wait for angular to complete their digest + render before call the exportation = you give UI grid to prepare NEW data before export it.
if ($scope.export_format == 'csv') {
var myElement = angular.element(document.querySelectorAll(".custom-csv-link-location"));
$scope.gridApi.exporter.csvExport($scope.export_row_type, $scope.export_column_type, myElement);
} else if ($scope.export_format == 'pdf') {
$scope.gridApi.exporter.pdfExport($scope.export_row_type, $scope.export_column_type);
};
})
};