0
無限の行モデル(無限スクロール)が反応する場合に、AgGridデータをエクスポートする方法を教えてください。 通常の行モデルでは、このようにして行われます。無限の行モデル(無限スクロール)の場合にAgGridデータをエクスポートするにはどうすればいいですか
this.gridOptions.api.exportDataAsCsv(params);
無限行のモデルケースについてはどう?ここで
無限の行モデル(無限スクロール)が反応する場合に、AgGridデータをエクスポートする方法を教えてください。 通常の行モデルでは、このようにして行われます。無限の行モデル(無限スクロール)の場合にAgGridデータをエクスポートするにはどうすればいいですか
this.gridOptions.api.exportDataAsCsv(params);
無限行のモデルケースについてはどう?ここで
は、私が実装しましたソリューションです。 グリッドのフッター、複数のヘッダーはここでは考慮されません。 このコードは、ヘッダーとその下に行がある単純なグリッドです。 無限スクロールと動的列の場合(場合によっては列を変更することができます)。
var LINE_SEPARATOR = '\r\n';
var COLUMN_SEPARATOR = ',';
var fileName = 'export.csv';
let csvString = '';
let columnsToExport = this.gridOptions.api.columnController.getAllDisplayedColumns();
// adding column headers.
columnsToExport.map((column) => {
csvString+= column.colDef.headerName;
csvString+= COLUMN_SEPARATOR;
});
csvString+= LINE_SEPARATOR;
// adding content of data currently loaded in the grid.
this.gridOptions.api.forEachNode(function(node) {
node.columnController.allDisplayedColumns.map((column) => {
let cellContent = node.valueService.getValue(column, node);
csvString+= (cellContent != null) ? cellContent : "";
csvString+= COLUMN_SEPARATOR;
});
csvString+= LINE_SEPARATOR;
});
// for Excel, we need \ufeff at the start
var blobObj = new Blob(["\ufeff", csvString], {
type: "text/csv;charset=utf-8;"
});
// Internet Explorer
if (window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blobObj, fileName);
}
else {
// Chrome
var downloadLink = document.createElement("a");
downloadLink.href = window.URL.createObjectURL(blobObj);
downloadLink.download = fileName;
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
}