Excel Export
This feature is part of FD Components Pro, which is documented as a preview and is not publicly available yet. See Editions and Availability.
FDC Pro provides an Excel-compatible SpreadsheetML XML writer without requiring an external spreadsheet dependency.
Register Pro export formats
Initialize optional Pro integrations once during application startup:
void main() {
FdcPro.ensureInitialized();
runApp(const App());
}
This registers both the Excel and PDF writers with FdcExportRegistry. The call is idempotent.
Export a DataSet
final result = await FdcExporter.exportDataSet(
orders,
format: FdcExcelExportFormat.spreadsheetXml,
options: FdcExportOptions(
scope: FdcExportScope.currentView,
valueMode: FdcExportValueMode.raw,
),
suggestedFileName: 'orders.xml',
);
final bytes = result.bytes;
The output MIME type is application/vnd.ms-excel, while the file content is SpreadsheetML XML.
Type preservation
In raw mode, the writer preserves supported scalar types where possible:
- booleans as Excel Boolean cells,
- safe integers and finite numeric values as Number cells,
FdcDecimalas a numeric value using its exact decimal string representation,DateTimeas DateTime cells with date/date-time styles,- other values as strings.
Display mode forces exported values to string-oriented presentation:
FdcExportOptions(
valueMode: FdcExportValueMode.display,
)
Headers and frozen first row
When headers are enabled, the writer emits a bold header row and configures the worksheet with a frozen first row:
FdcExportOptions(
includeHeaders: true,
)
Formula sanitization
Spreadsheet formula sanitization is enabled by default:
FdcExportOptions(
sanitizeSpreadsheetFormulas: true,
)
String values that look like spreadsheet formulas are prefixed so they are treated as text rather than executable formulas. Keep this enabled when exporting user-controlled or otherwise untrusted text.
Custom worksheet name
Pass the writer directly when a custom worksheet name is needed:
final result = await FdcExporter.exportDataSet(
orders,
format: FdcExcelExportFormat.spreadsheetXml,
writer: const FdcExcelXmlExportWriter(
worksheetName: 'Orders 2026',
),
);
Invalid worksheet-name characters are replaced, blank names fall back to Sheet1, and names longer than 31 characters are truncated.
Grid toolbar export
After Pro initialization, Excel becomes available through the registered format set used by FdcGridExportButton.
FdcGridExportButton(
visible: true,
formats: const [
FdcExportFormat.csv,
FdcExcelExportFormat.spreadsheetXml,
],
onExport: handleExport,
)