1.
从mysql中导出.cvs文件,再由excel导入
将数据存储在mysql数据库中,使用mysqlworkbench客户端,连上服务器右键表可导出.cvs格式的文本数据。excel打开后可以点击数据,自文本,即可导入刚刚从mysql数据库导出的表的.cvs文件。
这个方式的导出导入原理是,cvs打开即可看到是类似json的文本数据,不同的是,每行数据都用分隔符做了单元格截断。excel在导入这种文本的时候,是通过以分隔符分割的方式来得到每行文本的所有单元格内容。
2.
navicat客户端的直接导出excel功能
偶尔看到,navicat数据库客户端软件可以直接导出表到多种不同的格式文件,excel文件就是其一,非常地人性化便捷,还能导出access等格式的数据文件。navicat是个很好用的数据库客户端软件,它支持连接操作很多种流行的数据库。
3.
利用excel api,手写sql表转为excel表格的脚本
这种脚本(script)的编写也不难,无非就是先用sql API,select出表的所有数据,然后再利用excel API将数据写进一个excel表。
实例如使用Java语言的 apache POI API,它提供了对微软文档的操作能力,excel就是其一。POI的API清晰明了,结合sql API很容易就可以把一个表的数据输出至一个excel文件。
当然也可以不用基于Java语言提供的excel API,爱好其他语言的小伙伴也可以用其他语言去编写这个脚本。
图中的脚本是第一个版本我写的,从输入的多个文本文件中生成excel表格。输入来源如果根据需要是别的,也可以由脚本直接输入这个来源。
但我其实有更好的建议,就是先写脚本把这些数据解析并导入到sql数据库当中,再考虑输出成excel等格式的直观文件。
理由是,sql数据库有很好的数据分析、控制管理的能力,可以用sql数据库给的良好的设计以及sql语句拥有对数据的所有操作,假如中间需要对数据进行筛选,就可以用sql语句去处理数据,而非自己手写代码。这一件事足够证明sql数据库在数据界的强大。