Exporting
Type class
A plugin that exports the chart as an image, PDF or print, and its data as JSON, CSV, XLSX, HTML or a PDF table.
More info: Exporting
Sources
Exporting can be used (imported) via one of the following packages.
// Import Exportingimport * as am5plugins_exporting from "@amcharts/amcharts5/plugins/exporting";
// Create Exportingam5plugins_exporting.Exporting.new(root, { // ... config if applicable});<!-- Load Exporting --><script src="plugins/exporting.js"></script>
<script>// Create Exportingam5plugins_exporting.Exporting.new(root, { // ... config if applicable});</script>Inheritance
Exporting extends Entity.
Exporting is not extended by any other symbol.
Settings
Set these settings on a Exporting object using its set() and setAll() methods. Read about settings concept.
backgroundColorType
ColorBackground color of exported images. If not set, it is taken from the CSS background of the chart's element, or the nearest parent that has one; white if none does.
backgroundOpacityType
undefined|numberDefault1Since 5.2.34Opacity of the exported image's background:
0(transparent) to1(opaque). JPEG has no transparency.canvasOptionsOptions for
exportCanvas().charsetType
undefined|stringDefault"utf-8"Charset of exported files.
csvOptionsType
IExportingCSVOptionsCSV format options.
dataFieldsType
undefined|objectFields to include in data exports, and their column names: keys are fields in the data, values the column names.
dataFieldsOrderType
string[]Order of the fields in data exports.
dataSourceType
anyData for data exports: an array of objects. Without it, the data formats are not offered.
More info: Exporting: exporting data
dateFieldsType
string[]Fields whose numbers are timestamps, exported as dates.
dateFormatType
string|DateTimeFormatOptionsDate format for dates in data exports. If not set, the root's
DateFormatterformat is used.durationFieldsType
string[]Since 5.0.16Fields whose numbers are durations, formatted with
durationFormat.durationFormatType
undefined|stringSince 5.0.16Format for the values in
durationFields. If not set, the root'sDurationFormatterformat is used.durationUnitType
TimeUnitSince 5.0.16Time unit the values in
durationFieldsare in. If not set, the root'sDurationFormatterbaseUnitis used.extraImagesType
ArrayOther charts to add around the main chart in image exports.
filePrefixType
undefined|stringDefault"chart"Name of downloaded files, before the extension.
htmlOptionsHTML format options.
jpgOptionsJPEG format options.
jsonOptionsJSON format options.
Type
ExportingMenuThe
ExportingMenuthat offers the formats to the user.numberFormatType
string|NumberFormatOptionsNumber format for the values in
numericFields. If not set, they are exported as they are.numericFieldsType
string[]Fields whose numbers are formatted with
numberFormat.pdfdataOptionsOptions for the PDF with a data table.
pdfOptionsType
IExportingPDFOptionsPDF format options.
pngOptionsPNG format options.
printOptionsPrint options.
svgOptionsType
IExportingSVGOptionsSince 5.21.0SVG format options.
titleType
undefined|stringTitle of the export: the heading of a PDF, the page title when printing and the sheet name in XLSX.
xlsxOptionsXLSX format options.
9 inherited items
animationsType
ArrayInherited fromIEntitySettingsSince 5.20.8Animations the element plays on its own, described as data - so they can be set from a JSON config and saved with it.
Each one animates a setting of the element (or, with
target: "dataItem", a value of its data item - a map point'spositionOnLine, say). They start when the setting is applied, restart when it changes, and stop when the element is disposed. A saved config keeps what was configured, never a value caught half way through an animation.sprite.set("animations", [ { key: "rotation", to: 360, duration: 4000, loops: 0 }, { key: "scale", from: 1, to: 1.3, duration: 800, loops: 0, yoyo: true, easing: "sine" } ]);idType
undefined|stringInherited fromIEntitySettingsA unique ID for looking the element up in
root.entitiesById. Setting an ID that another element already has throws an error.ignoreThemesType
undefined|false|trueDefaultfalseInherited fromIEntitySettingsSince 5.15.6Ignores themes: no theme rule applies to the element, not even one of the default theme.
stateAnimationDurationType
undefined|numberDefault0Inherited fromIEntitySettingsHow long, in milliseconds, a switch from one state to another animates.
0switches at once.stateAnimationEasingType
$ease.EasingDefaultout(cubic)Inherited fromIEntitySettingsEasing of the animated switch from one state to another.
themesType
ArrayInherited fromIEntitySettingsThemes applied to the element and everything inside it.
themeTagsType
ArrayInherited fromIEntitySettingsTags that theme rules can target. They also count for the element's children, so a rule can match a child by a tag of its parent.
More info: Themes
themeTagsSelfType
ArrayInherited fromIEntitySettingsTags that theme rules can target, like
themeTags, but only for this element, not its children.More info: Themes
userDataType
anyInherited fromIEntitySettingsAny data of your own to keep with the element.
Private settings
These are read-only settings accessible from a Exporting object using its getPrivate() method. Read about private settings.
Exporting does not have any private settings.
Properties
classNameStaticType
stringDefault"Exporting"classNamesStaticType
ArrayDefaultEntity.classNames.concat([Exporting.className])
7 inherited items
adaptersType
AdaptersDefaultnew Adapters(this)Inherited fromEntityenableDisposeType
booleanDefaulttrueInherited fromSettingsSet to
falseto makedispose()do nothing.eventsType
EventDispatcherDefaultthis._createEvents()Inherited fromEntityrootType
RootInherited fromEntitySince 5.0.6The
Rootthe object belongs to.statestemplateType
Template|undefinedInherited fromEntityA
Templateapplied to the object. Its settings apply where the object has none set of its own.uidType
numberDefault++counterInherited fromSettingsA unique number, given to each object as it is created.
Methods
download(format:ExportingFormats,
customOptions?:IExportingFormatOptions)Returns
PromiseExports the chart or its data in a format and downloads the file, named
filePrefixplus the format's extension.export(format:ExportingFormats,
customOptions?:IExportingFormatOptions)Returns
PromiseExports the chart or its data in a format, as a data URI.
exportCanvas(customOptions?:IExportingImageOptions)Returns
PromiseReturns the chart image as a PNG data URI, using
canvasOptions.exportCSV(customOptions?:IExportingCSVOptions)Returns
PromiseReturns the data as a CSV file in a data URI.
exportHTML(customOptions?:IExportingHTMLOptions)Returns
PromiseReturns the data as an HTML table in a data URI.
exportImage(format:ExportingImageFormats,
customOptions?:IExportingImageOptions)Returns
PromiseReturns the chart image as a data URI.
exportJSON(customOptions?:IExportingJSONOptions)Returns
PromiseReturns the data as a JSON file in a data URI.
exportPDF(customOptions?:IExportingPDFOptions)Returns
PromiseReturns a PDF of the chart image, with a data table if
includeDatais set, as a data URI.exportPDFData(customOptions?:IExportingDataOptions)Returns
PromiseReturns a PDF of the data as a table, without the chart image, as a data URI.
exportSVG(customOptions?:IExportingSVGOptions)Returns
PromiseSince 5.21.0Returns the chart image as an SVG data URI, whichever renderer the chart uses.
exportXLSX(customOptions?:IExportingXLSXOptions)Returns
PromiseReturns the data as an XLSX file in a data URI.
getCanvas(options:IExportingImageOptions)Returns
PromiseReturns a
<canvas>element with an image of the chart and itsextraImages.getCSV(customOptions?:IExportingCSVOptions)Returns
PromiseReturns the data as CSV text.
getData(format:ExportingFormats,
customOptions?:IExportingDataOptions,
renameFields:boolean)Returns
anyReturns the data prepared for export: only the
dataFields, if set, with values formatted per the format's options.getHTML(customOptions?:IExportingHTMLOptions)Returns
PromiseReturns the data as the markup of an HTML
<table>.getJSON(customOptions?:IExportingJSONOptions)Returns
PromiseReturns the data as a JSON string.
getPDF(customOptions?:IExportingPDFOptions,
includeImage:boolean,
includeData:boolean)Returns
PromiseReturns a PDF file, Base64-encoded.
getSVG(customOptions?:IExportingSVGOptions)Returns
PromiseSince 5.21.0Returns the chart image as SVG markup, with
extraImagesplaced around it.getXLSX(customOptions?:IExportingXLSXOptions)Returns
PromiseReturns the data as an XLSX file, Base64-encoded.
hasData()Returns
booleanChecks whether
dataSourceis a non-empty array.initiatePrint(data:string,
customOptions?:IExportingPrintOptions,
title?:undefined|string)Returns
voidPrints an image, given as a data URI.
print(customOptions?:IExportingPrintOptions)Returns
PromisePrints the chart.
streamFile(uri:string,
fileName:string,
addBOM:boolean)Returns
booleanDownloads a data URI as a file.
supportedExportTypes()Returns
ExportingTypes[]Returns the export types available:
"image"and"print", and"data"when there is data and the browser can download files.supportedFormats()Returns
ExportingFormats[]Returns the formats that can be exported: all that are not
disabled, but the data formats only when there is data and the browser can download files.
22 inherited items
animate(options:AnimationOptions)Returns
AnimationInherited fromSettingsAnimates a setting from its current value (or
from) toto. The setting jumps tofromat once. Withduration0, or no value to start from, it is set totoat once and the returned animation is already stopped.More info: Animations: animating settings
dispose()Returns
voidInherited fromSettingsDisposes the object, freeing everything it holds. A disposed object can't be used again.
get(key:Key,
fallback:F)Returns
NonNullable|FInherited fromEntityReturns the value of setting
key, run through any adapters, orfallbackif it is not set.More info: Settings
has(key:Key)Returns
booleanInherited fromSettingsReturns
trueif settingkeyis set.More info: Settings
isDisposed()Returns
booleanInherited fromSettingsReturns
trueif the object has been disposed.isType(type:string)Returns
thisInherited fromEntityReturns
trueif the object is of classtypeor extends it.new(root:Root,
settings:ITSettings,
template?:Template)StaticReturns
TInherited fromEntityCreates an instance of the class. Use it instead of
new Class().More info: Getting started: new element syntax
off(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsSince 5.9.2Removes a callback added with
on(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
offDebounced(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsRemoves a callback added with
onDebounced(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
offDebouncedPrivate(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsRemoves a callback added with
onPrivateDebounced(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
offPrivate(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsSince 5.9.2Removes a callback added with
onPrivate(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
on(key:Key,
callback: (value:[""], target:this, key:Key) =>void)Returns
IDisposerInherited fromSettingsCalls
callbackeach time the value of settingkeychanges or is removed. Setting the same value again does not call it.More info: Events: settings value change
once(key:Key,
callback: (value:[""], target:this, key:Key) =>void)Returns
IDisposerInherited fromSettingsSince 5.20.4Like
on(), but the callback is removed after it is called once.More info: Events: settings value change
onceDebounced(key:Key,
callback: (value:[""], target:this, key:Key) =>void,
debounceDelay:number)Returns
IDisposerInherited fromSettingsSince 5.20.4Like
onDebounced(), but the callback is removed after it is called once.More info: Events: settings value change
onDebounced(key:Key,
callback: (value:[""], target:this, key:Key) =>void,
debounceDelay:number)Returns
IDisposerInherited fromSettingsLike
on(), but waits until settingkeyhas not changed fordebounceDelaymilliseconds, then callscallbackonce with the latest value.More info: Events: settings value change
onPrivate(key:Key,
callback: (value:[""], target:this, key:Key) =>void)Returns
IDisposerInherited fromSettingsCalls
callbackeach time the value of private settingkeychanges.More info: Events: settings value change
onPrivateDebounced(key:Key,
callback: (value:[""], target:this, key:Key) =>void,
debounceDelay:number)Returns
IDisposerInherited fromSettingsLike
onPrivate(), but waits until private settingkeyhas not changed fordebounceDelaymilliseconds, then callscallbackonce with the latest value.More info: Events: settings value change
remove(key:Key)Returns
voidInherited fromEntityRemoves the value set for setting
key. The setting goes back to the value from a theme or template, if one has it.More info: Settings
removeAll()Returns
voidInherited fromSettingsRemoves all settings, as
remove()does for each one.More info: Settings
set(key:Key,
value:Value)Returns
ValueInherited fromEntitySets setting
keytovalueand returnsvalue. A value set this way overrides themes and templates, and stops any animation of the setting.More info: Settings
setAll(settings:Partial)Returns
voidInherited fromSettingsSets several settings at once, from an object of key-value pairs.
More info: Settings
setTimeout(fn: () =>void,
delay:number)Returns
IDisposerInherited fromEntityCalls
fnafterdelaymilliseconds, unless the object is disposed first. Disposing the returned disposer cancels it.
Events
Add event handlers to Exporting object using its events.on() method. Read about adding event handlers.
dataprocessedParam { type:
"dataprocessed", target:Exporting, data:any} &IExportEventThe data for a data export is prepared. A listener can still change
data.downloadstartedParam { type:
"downloadstarted", target:Exporting, fileName:string} &IExportEventA download was requested, before its file is generated.
exportfinishedParam { type:
"exportfinished", target:Exporting} &IExportEventAn export was set off. It is dispatched before the result is ready, so to use the result, wait for the promise
export()returns.exportstartedParam { type:
"exportstarted", target:Exporting} &IExportEventAn export started.
pdfdocreadyParam { type:
"pdfdocready", target:Exporting, doc:any} &IExportEventThe PDF document definition is prepared. A listener can still change it before the PDF is made.
printstartedParam { type:
"printstarted", target:Exporting} &IExportEventPrinting was requested, before the image to print is generated.
workbookreadyParam { type:
"workbookready", target:Exporting, workbook:any, workbookOptions:any, xlsx:any} &IExportEventThe XLSX workbook is prepared. A listener can still change it before it is written.