Salvare pe local fisier excel creat cu Ajax in Php

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
andras
Mesaje:430

Salvare pe local fisier excel creat cu Ajax in Php

Salut,
La butonul Save to Excel file folosesc PHPExcel si trimit prin ajax la excellist.php. Cum salvez fisierul Excel pe local, pentru ca la succes: imi apare pe ecran fisierul binar? Sau mai bine folosesc <a href="excellist.php" > ? Multumesc.

MarPlo Mesaje:4343
Salut
Eu asi face asa:
1. In fisierul excellist.php, dupa ce e salvat fisierul excel, aplic:

Cod: Selectaţi tot

//create and save excel file..
echo 'Adresa/fisier.xls'; 
2. In functia ajax, unde e primit raspunsul de la php, deschid un pop-up cu adresa fisierului excel (transmisa de php), ceea ce va afisa fereastra cu optiune de salvare pe local.

Cod: Selectaţi tot

window.open('Adresa/fisier.xls');
- Sau daca vrei sa folosesti sirul cu datele in format binar, poti folosi functia saveBinary() din acest exemplu:

Cod: Selectaţi tot

//data= 'string with binary data'; file= 'file name'
function saveBinary(data, file){
  var a = document.createElement('a');
  document.body.appendChild(a);
  a.style ='display:none';
  var blob = new Blob([data], {type: 'application/octet-stream'}),
  url = window.URL.createObjectURL(blob);
  a.href = url;
  a.download = file;
  a.click();
};

//Text
var binary_data ='artyui345dghj';
saveBinary(binary_data, 'example.txt');