linux下 在QT中把mysql的数据导出excel

我想要吧一个mysql的表输出成excel的表,QT里面没有找到这样做的办法 谁知道请帮个忙 谢谢

方法一:进入到mysql的控制台,输入:
1. SELECT * INTO OUTFILE ‘./test.xls‘ FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;
这样,应该会在你的mysql的var/目录下产生一个test.xls的文件。。。
但是如果你的shell的登录帐户和mysql的运行账户不同,很可能这个方法就不适用了,因为你可以通过mysql控制台来产生这个文件,但是你却没有办法通过shell来对这个文件进行操作,因为用户不同,没有访问权限。
这个时候,同事告诉偶滴办法就重装登录了!!!
1. echo "SELECT * FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;"| /usr/local/mysql/bin/mysql -hlocalhost -uroot -pxxxxx > /tmp/test.xls
ok,把你的test.xls文件从tmp下载到本地打开来看看吧。。。
什么?中文乱码?
别着急。。。
因为office默认的是gb2312编码,服务器端生成的很有可能是utf-8编码,这个时候你有两种选择,
1.在服务器端使用iconv来进行编码转换,
1. iconv -futf8 -tgb2312 -otest2.xls test.xls
如果转换顺利,那么从server上下载下来就可以使用了。
转换如果不顺利,则会提示:iconv: illegal input sequence at position 1841 类似于这样的错误,
先把test.xls下载下来,这个时候文件是utf-8编码的,用excel打开,乱码。
把test.xls以文本方式打开,然后另存为,在编码选择ANSI编码,保存。

望采纳。。。纯手敲追问

那么在麻烦你一下 怎么移植到QT上面用?

温馨提示:内容为网友见解,仅供参考
无其他回答

linux下 在QT中把mysql的数据导出excel
方法一:进入到mysql的控制台,输入:1. SELECT * INTO OUTFILE ‘.\/test.xls‘ FROM tb1 WHERE 1 ORDER BY id DESC LIMIT 0, 50;这样,应该会在你的mysql的var\/目录下产生一个test.xls的文件。。。但是如果你的shell的登录帐户和mysql的运行账户不同,很可能这个方法就不适用了,因为你可以...

linux下的qt连接mysql的插件libsqlmysql.so。急需这样一个插件_百度...
先安装mysql的源代码。然后编译qt的时候,指定mysql的源码目录。参考:https:\/\/qt-project.org\/doc\/qt-4.8\/sql-driver.html

使用Qt在Ubuntu上连接MySQL数据库
首先,安装MySQL数据库,使用以下命令在终端中安装:安装完成后,启动MySQL服务。接着,创建数据库和表,使用以下命令:在Ubuntu上安装Qt开发环境及相关插件。在Qt应用程序的.pro文件中添加以下内容:在Qt代码中编写连接数据库的代码:进行数据库操作示例,在数据库中插入一条数据并查询。绘制一个简单的饼状...

如何在linux下安装QT源码包,安装后用图形形式编程
为了连接MySQL数据库,需要安装连接MySQL的驱动程序:sudo apt-get install libqt4-sql-mysql 比起在Windows下安装和配置Qt的MySQL驱动来说,简直太方便了。如果还需要其它的没有默认安装的Qt库,可以在命令行输入 sudo apt-get install libqt4- 然后按tab键自动补全,就会列出所有以libqt4- 开头的软...

linux qt下链接数据库QSqlDatabase: QMYSQL driver not loaded QSqlDa...
在命令行下安装 libqt4-sql-mysql(sudo apt-get install libqt4-sql-mysql),然后将 \/usr\/lib\/qt4\/plugins\/sqldrivers\/libqsqlmysql.so拷贝到你的QtSDK sqldrivers目录下,我的是在\/QtSDK\/Desktop\/Qt\/481\/gcc\/plugins\/sqldrivers,里面同时还有qsqlite.so,所以刚才会说只能找到qsqlite ...

在vs中,qt连接mysql运行时,出现QSqlQuery::exec:database not open,如 ...
要设置用户名密码之类的吧。。?db.setHostName("localhost"); \/\/设置数据库主机名 db.setDatabaseName("test"); \/\/设置数据库名 db.setUserName("root"); \/\/设置数据库登入用户名 db.setPassword("123456"); \/\/设计数据库登入密码 自己试试。在if(!db.open()){ }里面最好输出一下,看看...

Qt5 linux 无法连接sqlite
先安装好sqlite,然后去系统软件源中找qt自带的sqlite的驱动安装。Linux平台下解决Qt5连接mysql数据库的问题:输入sudoapt-getinstalllibqt5sql5-mysql解决,这种方法只能解决Qt是用sudoapt-getinstallqt-sdk命令装的低版本的Qt5(如5、2、x)缺少MySQL驱动问题,如果你的Qt5版本为5、7、X,那么就不能...

Qt 访问mysql
1.#include <QtSql\/QMYSQLDriver>去掉 然后重新运行程序 根据提示 2.如果找不到QMYSQL驱动,那么你需要先编译这个驱动。先到Plugins\/SqlDriver下看看有没有qsqlmysql.*与qsqlmysqld.*的动态库文件。如果没有,说明你没有编译mysql驱动插件。如果有但是连不上驱动,说明你的动态库没有放在程序的目录下(...

QT连接MYSQL问题,我没有本地编译库,而是下载qsqlmysql4.dll,qsqlm...
这个和其他机子是否成功安装MySQL有关系,你可以用你的机子运行程序,然后连接到它机子的MySQL数据库试试。如果连接不上说明它机子的Mysql配置有错。

unixODBC安装(mysqlUbuntu)
- 在\/etc\/odbcinst.ini中配置驱动程序信息:[MySQL]Description = MySQL driver for Linux Driver = \/usr\/lib\/odbc\/libmyodbc.so Setup = \/usr\/lib\/odbc\/libodbcmyS.so FileUsage = 1 - 在\/etc\/odbc.ini中配置DSN(数据源名称)信息,如:[HustMysqlDB]Description = The Database for Hust...

相似回答