Общее представление о том, что вы можете сделать:
Создайте кнопку, например
<a href="#" id="export">export to Excel</a>
Затем в jquery вы должны создать что-то вроде:
var grid = $(".grid.digital_edit").loadGrid({...}); //or similar - what you did to load the data into the grid
$('#export').click(function() {
$.ajax({
url: "export_to_excel.php", // the url of the php file that will generate the excel file
data: grid.getData(), //or similar - based on the grid's API
success: function(response){
window.location.href = response.url;
}
})
});
Файл export_to_excel.php будет содержать код, который генерирует файл Excel:
- Здесь вы инициируете класс PHPExcel и создаете файл, например, new_excel.xls
- .массив ответов $ response ['url'] будет содержать абсолютный URL-адрес вновь создаваемого файла.(http://www.example.com/files/new_excel.xls)
Это может показаться слишком сложным, но попробуйте разделить свои цели и достичь одной за раз. Например:
- Создать кнопку.
- Затемпопробуйте выполнить простой вызов AJAX при нажатии кнопки.
- Затем создайте файл export_to_excel.php и попробуйте поработать с классом PHPExcel.
- Создайте образец файла Excel на основе найденных учебных пособий..
- Создайте файл Excel на основе ваших собственных данных, но жестко запрограммируйте его в файле php.
- Создайте правильный вызов AJAX, который отправит нужные данные в файл php.
- Перехватите правильный AJAX-вызов.
- Передайте данные из AJAX-вызова в класс PHPExcel.
- Создайте файл Excel.
- Отправьте URL-адрес вфайл Excel.
- Перенаправьте пользователя на URL-адрес файла Excel.
РЕДАКТИРОВАТЬ
Чтобы помочь вам немного больше: Вынужен только один скрипт / файл PHP. Тот же самый получит вызов AJAX из файла javascript, сгенерирует excel file и вернет / ответит URL файла в файл javascript (в таком порядке).Упрощенный пример будет:
<?php
//export_to_excel.php
$data = $_POST['data']; // get the data from the AJAX call - it's the "data: grid.getData()" line from above
//... format the received data properly for the PHPExcel class
// later on in the same file:
$xls = new PHPExcel();
$xls->loadData($formattedData); //I assume that there is a similar loadData() method
$xls->exportToFile('/vaw/www/example.com/public/files/new_excel.xls'); // I assume that there is an exportToFile() method
$response = array(
'success' => true,
'url' => 'http://www.example.com/files/new_excel.xls'
);
header('Content-type: application/json');
// and in the end you respond back to javascript the file location
echo json_encode($response);
И затем в javascript вы отображаете файл с этой строкой
window.location.href = response.url; //response.url is $response['url'] from the PHP script