【发布时间】:2015-06-16 11:30:19
【问题描述】:
我有一个 HTML 表单,当您通过单击按钮提交表单时,应用程序会使用 PHPExcel 生成一个 Excel 文件。一切正常,但是当 excel 文件很大时,等待时间很长。我想添加进度条或显示完成百分比值。我的问题是我不知道如何在表单中插入并不断更新。
这就是我想要完成的:
编辑:
我的代码是:
HTML 表单:
<form action="reporteexcel.php" name = "ExportForm" method="POST">
<table>
[All different fields]
<tr>
<td style = "position:relative; top:1em;left:4em;">
<input type="submit" value="Export to excel">
<input type="button" onclick="window.close();" value = "Cancel">
</td>
</tr>
</table>
</form>
在reporteexcel.php中:
include 'PHPExcel_1.8.0/Classes/PHPExcel.php';
include 'F1_Export.php';
include 'F2_Export.php';
if ($Family == "F1")
{
exportF2 ($BasicInformation, $SupplierInformation, $PhysicalParameters, $Supplier, $Family);
}
else if ($Family == "F2")
{
exportF2 ($BasicInformation, $SupplierInformation, $PhysicalParameters, $Supplier, $Family);
}
F1_export 和 F2_export 中是生成excel文件的函数。
【问题讨论】:
-
如果您不想使用现有库,请对 AJAX 做一些研究。您的导出调用可以通过 AJAX 处理,这可以将更新返回到您当前的屏幕/表单。
-
我已经尝试过了,但它不起作用(至少我不知道如何使它起作用;))。我在 HTML 中添加了一个 ,我也添加了 AJAX 文件,但我不知道如何从我的 php 函数中持续更新该值...
-
您必须检查 GenerateExcel() 是否会给您更新(我没有任何线索)。如果是这样,那么在这些更新中,您会将数据传回原始页面。该页面上的 Javascript 将解析信息并更新页面。
-
您的第一步是创建一个不同的 PHP 文件来处理 Excel 文件。使用 AJAX 调用来调用它。然后让新的 PHP 文件发回原始 AJAX 调用可以处理和更新屏幕的响应。谷歌“简单的 AJAX 教程”——有很多东西可以帮助你入门。