我正在使用开箱即用的 ag-grid ,是否有用于导出到 excel 的功能。到目前为止,我还没有编写任何事件代码来导出到 csv。我在想,就像它的排序和过滤功能一样,这也是开箱即用的(例如 highcharts 的上下文菜单)。
那么是否需要设置一个网格选项以使其准备好导出到 csv 或 excel
谢谢
我正在使用开箱即用的 ag-grid ,是否有用于导出到 excel 的功能。到目前为止,我还没有编写任何事件代码来导出到 csv。我在想,就像它的排序和过滤功能一样,这也是开箱即用的(例如 highcharts 的上下文菜单)。
那么是否需要设置一个网格选项以使其准备好导出到 csv 或 excel
谢谢
当前版本的 ag-grid (4.0.7) 没有该功能。要完成 csv 导出,您必须调用 ag-grid api 函数,例如:
$scope.exportToCsv = function () {
var params = {
skipHeader: false,
skipFooters: true,
skipGroups: true,
fileName: "export.csv"
};
$scope.gridOptions.api.exportDataAsCsv(params);
}
如果要启用企业 Excel 导出功能,则有两种方法,具体取决于您安装的 AG Grid 包。
套餐
如果您的 package.json 文件看起来像这样,那么您正在使用网格包方法。
"ag-grid-community": "^27.0.0",
"ag-grid-enterprise": "^27.0.",
"ag-grid-angular": "^27.0.0",
然后,您需要在代码中包含以下导入以启用所有企业功能。
import 'ag-grid-enterprise'
模块
如果您的 package.json 文件看起来像这样,您正在使用功能模块。您将需要包含MenuModule
和ExcelExportModule
以启用 Excel 导出的上下文菜单。
"@ag-grid-community/core": "^27.0.0",
"@ag-grid-community/client-side-row-model": "^27.0.",
"@ag-grid-enterprise/menu": "^27.0.0",
"@ag-grid-enterprise/excel-export": "^27.0.0",
您还需要确保这些模块已使用ModuleRegistry
import { ModuleRegistry } from '@ag-grid-community/core';
import { ClientSideRowModelModule } from "@ag-grid-community/client-side-row-model";
import { MenuModule } from "@ag-grid-enterprise/menu";
import { ExcelExportModule } from "@ag-grid-enterprise/excel-export";
ModuleRegistry.registerModules([
ClientSideRowModelModule,
MenuModule,
ExcelExportModule
]);
通过右键单击单元格,只需在上下文菜单中的 ag-grid(版本 20 或更高版本)中启用导出。默认情况下,上下文菜单提供值“复制”和“粘贴”。复制会将选定的单元格或行复制到剪贴板。粘贴将永远,永远,被禁用。
对于 Angular 2 及以上版本,请使用此
import { AllModules } from '@ag-grid-enterprise/all-modules'; /* Import AllModules */
@Component({
selector: 'my-app',
template: `
<ag-grid-angular
#agGrid
style="width: 100%; height: 100%;"
id="myGrid"
class="ag-theme-alpine"
[modules]="modules"
[columnDefs]="columnDefs"
[rowData]="rowData"
(gridReady)="onGridReady($event)"
></ag-grid-angular>
`,
})
export class AppComponent {
constructor(){
}
public modules: Module[] = AllModules;/*This variable Enable Export in context Menu*/
}