syncfusion_flutter_datagrid_export 20.1.48-beta syncfusion_flutter_datagrid_export: ^20.1.48-beta copied to clipboard
The Syncfusion Flutter DataGrid Export library is used to export the DataGrid content to Excel and Pdf format with several customization options.
Flutter DataGrid Export Library #
Syncfusion's Flutter DataGrid export library is used to export the Flutter DataGrid to Excel and PDF formats. It provides support to export DataGrid content, such as headers, rows, stacked header rows, and table summary rows, with the several customization options.
Disclaimer: This is a commercial package. To use this package, you need to have either a Syncfusion commercial license or a free Syncfusion Community License. For more details, please check the LICENSE file.
Table of contents #
- Get the demo application
- Useful links
- Installation
- Getting started
- Support and feedback
- About Syncfusion
Get the demo application #
Explore the full capabilities of our Flutter widgets on your device by installing our sample browser applications from the following app stores, and view sample code in GitHub.
Useful links #
Check out the following resources to learn more about the Syncfusion Flutter DataGrid.
Installation #
Install the latest version from pub.
Getting started #
Import the following package.
import 'package:syncfusion_flutter_datagrid_export/export.dart';
Add the DataGrid to the application #
Follow the steps provided in this link to add the DataGrid to your application.
To export, add two buttons in the Row widget. Then, add the DataGrid in the Expanded widget and wrap both the buttons and DataGrid inside the Column widget.
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text(
'Syncfusion Flutter DataGrid Export',
overflow: TextOverflow.ellipsis,
),
),
body: Column(
children: <Widget>[
Container(
margin: const EdgeInsets.all(12.0),
child: Row(
children: <Widget>[
SizedBox(
height: 40.0,
width: 150.0,
child: MaterialButton(
color: Colors.blue,
child: const Center(
child: Text(
'Export to Excel',
style: TextStyle(color: Colors.white),
)),
onPressed: exportDataGridToExcel),
),
const Padding(padding: EdgeInsets.all(20)),
SizedBox(
height: 40.0,
width: 150.0,
child: MaterialButton(
color: Colors.blue,
child: const Center(
child: Text(
'Export to PDF',
style: TextStyle(color: Colors.white),
)),
onPressed: exportDataGridToPdf),
),
],
),
),
Expanded(
child: SfDataGrid(
source: employeeDataSource,
columns: <GridColumn>[
GridColumn(
columnName: 'ID',
label: Container(
padding: const EdgeInsets.all(16.0),
alignment: Alignment.center,
child: const Text(
'ID',
))),
GridColumn(
columnName: 'Name',
label: Container(
padding: const EdgeInsets.all(8.0),
alignment: Alignment.center,
child: const Text('Name'))),
GridColumn(
columnName: 'Designation',
label: Container(
padding: const EdgeInsets.all(8.0),
alignment: Alignment.center,
child: const Text(
'Designation',
overflow: TextOverflow.ellipsis,
))),
GridColumn(
columnName: 'Salary',
label: Container(
padding: const EdgeInsets.all(8.0),
alignment: Alignment.center,
child: const Text('Salary'))),
],
),
),
],
),
);
}
Add GlobalKey for the DataGrid #
After adding the DataGrid, create the GlobalKey with the SfDataGridState class. Exporting related methods is available via the SfDataGridState class.
Set the created GlobalKey to the DataGrid.
final GlobalKey<SfDataGridState> _key = GlobalKey<SfDataGridState>();
...
child: SfDataGrid(
key: _key,
...
Export the DataGrid to Excel #
Use the exportToExcelWorkbook
method from _key.currentState!
and call this method in a button click.
Future<void> exportDataGridToExcel() async {
final Workbook workbook = _key.currentState!.exportToExcelWorkbook();
final List<int> bytes = workbook.saveAsStream();
File('DataGrid.xlsx').writeAsBytes(bytes);
workbook.dispose();
}
Export the DataGrid to PDF #
Use the exportToPdfDocument
method from _key.currentState!
and call this method in a button click.
Future<void> exportDataGridToPdf() async {
final PdfDocument document =
_key.currentState!.exportToPdfDocument();
final List<int> bytes = document.save();
File('DataGrid.pdf').writeAsBytes(bytes);
document.dispose();
}
Support and feedback #
- If you have any questions, you can contact the Syncfusion support team or post them to the community forums. You can also submit a feature request or a bug report through our feedback portal.
- To renew your subscription, click renew or contact our sales team at sales@syncfusion.com | Toll Free: 1-888-9 DOTNET.
About Syncfusion #
Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 22,000 customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies.
Today, we provide 1,600+ controls and frameworks for web (ASP.NET Core, ASP.NET MVC, ASP.NET WebForms, JavaScript, Angular, React, Vue, and Blazor) , mobile (Xamarin, Flutter, UWP, and JavaScript), and desktop development (WinForms, WPF, UWP and WinUI). We provide ready-to- deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software.