Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将表从mysql数据库导出到excel?_Php_Mysql_Excel_Phpmyadmin_Export - Fatal编程技术网

Php 如何将表从mysql数据库导出到excel?

Php 如何将表从mysql数据库导出到excel?,php,mysql,excel,phpmyadmin,export,Php,Mysql,Excel,Phpmyadmin,Export,我在mysql中有一个表,它非常大,有超过10万行,我想将它导出到excel。但是,我在phpmyadmin上尝试了导出到excel函数,但是转储excel文件需要花费很长时间。这甚至不是倾销。错误总是,连接被重置。有没有其他方法可以做到这一点呢?首先,Excel中的10万行听起来是个可怕的主意,当然需要一段时间。这需要一段时间才能打开。如果必须这样做,请尝试: SELECT order_id,product_name,qty FROM orders INTO OUTFILE '/tmp/ord

我在mysql中有一个表,它非常大,有超过10万行,我想将它导出到excel。但是,我在phpmyadmin上尝试了导出到excel函数,但是转储excel文件需要花费很长时间。这甚至不是倾销。错误总是,连接被重置。有没有其他方法可以做到这一点呢?

首先,Excel中的10万行听起来是个可怕的主意,当然需要一段时间。这需要一段时间才能打开。如果必须这样做,请尝试:

SELECT order_id,product_name,qty
FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

这将为您提供一个名为:/tmp/orders.csv的文件,该文件将在Excel中打开。

导出速度缓慢可能是由于运行phpmyadmin的服务器造成的。我经常以惊人的速度导出数百万行

如果您可以访问数据库服务器的文件系统,这是转换为.csv的一种非常快速的方法,而.csv又可以通过Excel打开

SELECT order_id,product_name,qty
FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
请参见:

我以前使用过OUTFILE方法来执行此操作:

SELECT
    'First Name',
    'Last Name',
    'Email Address'
UNION
SELECT
    First_Name,
    Last_Name,
    Email
INTO OUTFILE
    '/tmp/data_2012-05-03.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
FROM
    `data`
WHERE
    Reg_Date >= '2012-05-02 00:00:00' AND
    Reg_Date <= '2012-05-02 23:59:59' AND
    Email_Status = 1;

100000行需要一个OfficeOpenXML格式的.xlsx文件,或者一个BIFF格式的.xls文件中的两个工作表,因为一个xls文件每个工作表最多可以有65536行。关于用php读取所有行并使用它导出为excel文件,请将其转储为csv文件。@MarkBaker实际上,我能够找出一些东西,并删除了一些行,现在它下降了40k。我应该如何导出该表?取决于您是否需要真正的Excel格式文件,或者是否需要csv文件。谢谢您的回复。我可以知道你在哪里执行这个代码吗?对不起,我不知道你的意思。