Php 如何将表从mysql数据库导出到excel?
我在mysql中有一个表,它非常大,有超过10万行,我想将它导出到excel。但是,我在phpmyadmin上尝试了导出到excel函数,但是转储excel文件需要花费很长时间。这甚至不是倾销。错误总是,连接被重置。有没有其他方法可以做到这一点呢?首先,Excel中的10万行听起来是个可怕的主意,当然需要一段时间。这需要一段时间才能打开。如果必须这样做,请尝试: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
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文件。谢谢您的回复。我可以知道你在哪里执行这个代码吗?对不起,我不知道你的意思。