2015-06-16 17 views
5

Tôi có biểu mẫu HTML, khi bạn gửi biểu mẫu bằng cách nhấp vào nút mà ứng dụng tạo tệp Excel bằng PHPExcel. Tất cả mọi thứ hoạt động tốt, nhưng khi các tập tin excel là lớn thời gian chờ đợi là khá dài. Tôi muốn thêm thanh tiến trình hoặc hiển thị giá trị hoàn thành phần trăm. Vấn đề của tôi là tôi không biết cách chèn nó vào biểu mẫu và cập nhật nó liên tục.Hiển thị thanh tiến trình trong khi tạo tệp Excel trong php

Đây là những gì tôi đang tìm cách để thực hiện: enter image description here

EDIT:

Mã của tôi là: hình thức

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> 

Trong 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); 
    } 

Và trong F1_export và F2_export là các hàm, tạo các tệp excel.

+0

Nếu bạn không muốn sử dụng một thư viện hiện có - thực hiện một nghiên cứu nhỏ trong AJAX. Cuộc gọi của bạn để xuất có thể được xử lý thông qua AJAX có thể trả về các cập nhật cho màn hình/biểu mẫu hiện tại của bạn. – DragonYen

+0

Tôi đã thử nhưng nó không hoạt động (ít nhất tôi không biết làm thế nào để làm cho nó hoạt động;)). Tôi đã thêm

vào HTML, tôi cũng đã thêm tệp AJAX, nhưng tôi không biết cách cập nhật liên tục từ hàm php của mình có giá trị ... – Mastor

+0

Đọc http://stackoverflow.com/questions/15508784/ này progress-bar-update-progress –

Trả lời

2

Sử dụng thư viện này để tải lên tập tin của bạn, bạn cũng có thể hiển thị thanh tiến trình cho quá trình tải lên: http://blueimp.github.io/jQuery-File-Upload/

Để thấy sự tiến bộ trong thời gian dài chạy kịch bản PHP: http://www.htmlgoodies.com/beyond/php/show-progress-report-for-long-running-php-scripts.html

+0

Xin chào! Tôi không muốn tải lên bất kỳ tệp nào. Tôi có dữ liệu của tôi trong một cơ sở dữ liệu và với điều đó, tôi tạo ra một tập tin excel. – Mastor

+0

@ user2528601 Tôi đã cập nhật câu trả lời của mình. –

Các vấn đề liên quan