<?xml version="1.0" encoding="UTF-8" ?>
<dt-button library="Buttons">
	<name>excelFlash</name>
	<summary>Create and save an Excel XLSX file that contains the data from the table (Adobe Flash - deprecated)</summary>
	<since>1.0.0</since>

	<requires>
		* Buttons' _Flash export button_ plug-in.
		* Adobe Flash

		To ensure that all files required for Excel Flash export are included, the [DataTables download builder](/download) is recommend - select the _Flash export_ options.
	</requires>
	
	<deprecated>
		<version>1.2.0</version>
		<description>
			As Flash is now [being expunged](http://arstechnica.co.uk/information-technology/2016/05/chrome-flash-click-to-play-html5-by-default/) from all browsers, the Flash buttons are only suitable for use in old browsers. As such, they will no longer see new features developed for them after Buttons 1.2.0. They will be removed from the distribution in the next major release.
		</description>
	</deprecated>

	<description>
		This button provides the end user with the ability to save the table's data into a locally created Excel XLSX file.

		Please note that this button has a number of restrictions:

		* Adobe Flash must be installed.
		* The action for this button _cannot_ be activated using the `b-api button().trigger()` or key combination methods due to the security restrictions of Flash
		* The created file save dialogue must be shown and the file cannot be automatically opened.
		* The XLSX file cannot contain any styling information. Only the raw data from the table is included.
		
		The `b-button excelHtml5` method provides much greater flexibility and thus button is considered to be sunsetted, but is still provided for use with older browsers that do not support the APIs required for the `b-button excelHtml5` button type.

		[Adobe Flash](https://get.adobe.com/flashplayer/) is required for this button to operate. If Flash is not installed, or disabled, in the end user's browser this button will not appear. For a non-Flash alternative please see the `b-button excelHtml5` button type. Additionally the `b-button excel` will automatically select between this button and `b-button excelHtml5` depending on the features of the browser.


		## Customisation

		The Excel file that Buttons creates is intentionally quite simple, but you may wish to add additional information or formatting to the document to suit your output requirements. This ability is provided by the `customize` option of this button type.

		Full details of the `customize` method are available in the `b-button excelHtml5` documentation. The `customize` method for both button types are identical and a function developed for one can be used for the other (or both if you use the grouping `b-button excel` button type, which will automatically select HTML5 or Flash as required for the browser).
	</description>


	<option type="string" name="text" default="Excel">
		The button's display text. The text can be configured using this option (see `b-init buttons.buttons.text`) or the `buttons.copy` option of the DataTables `dt-init language` object.
	</option>

	<option type="string" name="className" default="buttons-excel buttons-flash">
		The button's class name. See `b-init buttons.buttons.className` for details.
	</option>

	<option type="function" name="action">
		Create and save a Excel XLSX file.
	</option>

	<option type="string" name="fieldSeparator" default=",">
		The character(s) used to separate fields in the plain text representation of the table that is copied to the system's clipboard.		
	</option>

	<option type="string" name="fieldBoundary" default='"'>
		The character(s) used to enclose each field in the plain text representation of the table that is copied to the system's clipboard. This is automatically added at the start and end of each cell's data.
	</option>

	<option type="object" name="exportOptions" default="{}">
		Select the data to be gathered from the DataTable for export. This includes options for which columns, rows, ordering and search. Please see the `b-api buttons.exportData()` method for full details - the object given by this parameter is passed directly into that action to gather the required data.
	</option>

	<option type="boolean" name="header" default="true">
		Indicate if the table header should be included in the exported data or not.
	</option>

	<option type="boolean" name="footer" default="false">
		Indicate if the table footer should be included in the exported data or not.
	</option>

	<option type="string|function" name="filename" default="*">
		File name to give the created file (plus the extension defined by the `extension` option). The special character `*` is automatically replaced with the value read from the host document's `-tag title` tag.
	</option>

	<option type="string" name="extension" default=".xlsx">
		The extension to give the created file name.
	</option>

	<option type="string" name="sheetName" default="Sheet1">
		Name for the worksheet in Excel file created. The characters [] \ /: *? : are not allowed and will be removed if present.
	</option>

	<option type="boolean" name="createEmptyCells" default="false" since="1.5.0">
		Option to instruct the Excel export to create empty cells. By default if a cell contains `null` or empty data, it will not be created in the exported spreadsheet. You may however wish for it to do so, based on styling requirements.
	</option>

	<option type="function" name="customize" default="undefined" since="1.2.0">
		This method can be used to modify the XSLX file that is created by Buttons. The first parameter that is passed in is an object that contains the XML files and the object structure matches the file system paths for those files in an XSLX file. Customisation of the XSLX file is a complex topic - please refer to the _Customisation_ section in the `b-button excelHtml5` button documentation for full details.

		As of Buttons 1.5.2 this function is passed three parameters:

		1. An object that contains the XML files in the ZIP file structure used by Excel
		2. The button configuration object
		3. A DataTables API instance for the table the button belongs to.
	</option>

	<option type="string|function" name="title" default="*" since="1.4.0">
		Title of the table that will be included in the exported data. Please see `-api buttons.exportInfo()` for all options relating to this parameter.
	</option>

	<option type="string|function" name="messageTop" default="*" since="1.4.0">
		Message to be shown at the top of the table, or the `-tag caption` tag if displayed at the top of the table.
	</option>

	<option type="string|function" name="messageBottom" default="*" since="1.4.0">
		Message to be shown at the bottom of the table, or the `-tag caption` tag if displayed at the bottom of the table.
	</option>


	<example title="DataTables initialisation: Use the Flash Excel button"><![CDATA[

$('#myTable').DataTable( {
	buttons: [
		'excelFlash'
	]
} );

]]></example>

	<example title="DataTables initialisation: Use the `b-button excel` button type to automatically select between the Flash and HTML button options."><![CDATA[

$('#myTable').DataTable( {
	buttons: [
		'excel'
	]
} );

]]></example>

	<example title="DataTables initialisation: Use the `exportOptions` to save only the data shown on the current DataTable page"><![CDATA[

$('#myTable').DataTable( {
	buttons: [
		{
			extend: 'excelFlash',
			text: 'Save current page',
			exportOptions: {
				modifier: {
					page: 'current'
				}
			}
		}
	]
} );

]]></example>
</dt-button>