Export MySQL query to Excel file: Difference between revisions
Jump to navigation
Jump to search
| Line 13: | Line 13: | ||
=== Two steps conversion ex: MySQL query -> CSV file -> Excel file=== | === Two steps conversion ex: MySQL query -> CSV file -> Excel file=== | ||
Step 1: Export the MySQL query -> CSV | Step 1: Export the MySQL query -> CSV file | ||
* PHPExcel or MySQL client softwares | * PHPExcel or MySQL client softwares | ||
* [http://dev.mysql.com/doc/refman/5.7/en/mysqldump-delimited-text.html MySQL :: MySQL 5.7 Reference Manual :: 8.4.3 Dumping Data in Delimited-Text Format with mysqldump] | * [http://dev.mysql.com/doc/refman/5.7/en/mysqldump-delimited-text.html MySQL :: MySQL 5.7 Reference Manual :: 8.4.3 Dumping Data in Delimited-Text Format with mysqldump] | ||
| Line 21: | Line 21: | ||
</pre> | </pre> | ||
Step 2: Import CSV to XLSX | Step 2: Import CSV to XLSX/XLS file format. | ||
* MS Excel | * MS Excel | ||
** [https://www.itg.ias.edu/content/how-import-csv-file-uses-utf-8-character-encoding-0 How to import a .csv file that uses UTF-8 character encoding | Information Technology Group] | ** [https://www.itg.ias.edu/content/how-import-csv-file-uses-utf-8-character-encoding-0 How to import a .csv file that uses UTF-8 character encoding | Information Technology Group] | ||
Revision as of 12:06, 28 September 2016
Export MySQL query to Excel file (XLS or XLSX file)
Tools
One step conversion: ex MySQL query -> Excel file
Methods of exporting MySQL query -> XLS/XLSX file
- PHPExcel
- other MySQL client softwares
Notice the limit of Excel XLS file format:
- XLS file format[1][2]: Maximum of worksheet size is 65,536 rows by 256 columns. First row is column name.
Actual data size is 65,535 rows. - XLSX file format [3]: Maximum of worksheet size is 1,048,576 rows by 16,384 columns.
Two steps conversion ex: MySQL query -> CSV file -> Excel file
Step 1: Export the MySQL query -> CSV file
- PHPExcel or MySQL client softwares
- MySQL :: MySQL 5.7 Reference Manual :: 8.4.3 Dumping Data in Delimited-Text Format with mysqldump
- Required FILE permission ex: GRANT FILE ON *.* TO 'user_name'@'localhost'; If you met the following error message:
mysqldump: Got error: 1045: Access denied for user 'user_name'@'localhost' (using password: YES) when executing 'SELECT INTO OUTFILE'
Step 2: Import CSV to XLSX/XLS file format.
- MS Excel
- LibreOffice Calc
Step 3: Data verification
- Verify the data rows count: Equal to the rows count of MySQL query. Not equal to 65,535 rows or less than the rows count of MySQL query.
- Verify the data column is in correct position
Because the CSV is not well-formatted, sometimes the data column after imported to Excel is in wrong position. If the data size is less than 65,535 rows, convert CSV to Excel/XLS by LibreOffice Calc is recommended.- If the data size is larger than 65,535 rows, Adjust the MySQL query to avoid the column value contains the
- enclosure character e.g. Tab key
- escape the enclosure character e.g. "
- return symbol to separate different data row.
Technical issues: If it costs too much time to convert to Excel file
The important steps before generating CSV file. These steps reduce the problems when the CSV file was converted to Excel file.
- Add delimiter character between different column ex: comma symbol (,) or tab symbol
- Add enclosure character ex: double quote symbol (") or single quote symbol (')
- Add escape character escape the column value if contains the enclosure character
- Remove return symbol[4]:
SELECT REPLACE(REPLACE(REPLACE(`my_column`, '\r\n', ' '), '\n', ' '), '\r', ' ')