请教一个PHPExcel问题
最近在做一个项目,需要将查询处理后的表格数据导出到客户端的excel,因为页面表格数据并不是从数据库直接查询得到的,而是经过计算等处理得到。页面有一个按钮(button),onclick事件用ajax向服务器传递一些必要参数,exportexcel.php文件接收参数再查询数据库,并经过处理,最后使用phpexcel导出到excel文件。
因此问题也就来了,经测试发现ajax已经执行,但浏览器不会弹出窗口下载导出的excel文件,一点反应都没有。该如何做才能使用ajax传参数到exportexcel.php,并且能够弹出下载保存窗口?
ajax的代码
function excel(url1,params)
{
try{
var xhr = new XMLHttpRequest();
}catch(trymicrosoft){
try{
var xhr = new ActiveXObject("Msxml2.XMLHTTP");
}catch(othermicrosoft){
try{
var xhr = new ActiveXObject("Microsoft.XMLHTTP");
}catch(failed){
var xhr = false;
}
}
}
var url=url1+"?"+"&r="+Math.random();
xhr.open("POST",url,true); //readyState=1
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send(params);
xhr.onreadystatechange= function()
{
//如果等于4,表明交互完毕 ,我们可以取出服务器返回的内容
if(xhr.readyState== 4 && xhr.status== 200)
{
}
}
}
exportexcel.php代码没有问题,我单独测试过,能弹出下载窗口。
请高手指点下,该怎么做,都困扰我好几天了,一直没想出办法来
------解决方案--------------------
如果你不用 ajax,而用连接传递参数,这样会做吗?
------解决方案--------------------
改正一下,應該這樣。
<br />function excel(url1,params){ <br /> window.location = url1+"?"+"&r="+Math.random() + "&" + params;<br />}<br />

Le calcul du nombre total d'éléments dans un tableau multidimensionnel PHP peut être effectué en utilisant des méthodes récursives ou itératives. 1. La méthode récursive compte en traversant le tableau et en traitant récursivement les tableaux imbriqués. 2. La méthode itérative utilise la pile pour simuler la récursivité pour éviter les problèmes de profondeur. 3. La fonction Array_Walk_Recursive peut également être implémentée, mais elle nécessite un comptage manuel.

En PHP, la caractéristique d'une boucle de bricolage est de s'assurer que le corps de la boucle est exécuté au moins une fois, puis de décider de continuer la boucle en fonction des conditions. 1) Il exécute le corps de la boucle avant la vérification conditionnelle, adapté aux scénarios où les opérations doivent être effectuées au moins une fois, telles que la vérification d'entrée de l'utilisateur et les systèmes de menu. 2) Cependant, la syntaxe de la boucle de bricolage peut provoquer une confusion parmi les débutants et peut ajouter des frais généraux de performance inutiles.

Des chaînes de hachage efficaces dans PHP peuvent utiliser les méthodes suivantes: 1. Utilisez la fonction MD5 pour le hachage rapide, mais ne convient pas au stockage de mot de passe. 2. Utilisez la fonction SHA256 pour améliorer la sécurité. 3. Utilisez la fonction Password_hash pour traiter les mots de passe pour offrir la sécurité et la commodité les plus élevées.

La mise en œuvre d'une fenêtre de glissement du tableau dans PHP peut être effectuée par des fonctions SlideWindow et SlideWindowAverage. 1. Utilisez la fonction Slidewindow pour diviser un tableau en un sous-réseau de taille fixe. 2. Utilisez la fonction SlideWindowAverage pour calculer la valeur moyenne dans chaque fenêtre. 3. Pour les flux de données en temps réel, le traitement asynchrone et la détection des valeurs aberrantes peuvent être utilisés à l'aide de ReactPHP.

La méthode __clone en PHP est utilisée pour effectuer des opérations personnalisées lors du clonage des objets. Lors du clonage d'un objet utilisant le mot-clé Clone, si l'objet a une méthode __clone, la méthode sera automatiquement appelée, permettant un traitement personnalisé pendant le processus de clonage, tel que réinitialiser l'attribut de type de référence pour assurer l'indépendance de l'objet cloné.

Dans PHP, les instructions GOTO sont utilisées pour passer inconditionnellement à des balises spécifiques du programme. 1) Il peut simplifier le traitement de boucles ni de boucles ou de relevés conditionnelles complexes, mais 2) en utilisant GOTO peut rendre le code difficile à comprendre et à maintenir, et 3) il est recommandé de donner la priorité à l'utilisation d'instructions de contrôle structurées. Dans l'ensemble, GOTO doit être utilisé avec prudence et les meilleures pratiques sont suivies pour assurer la lisibilité et la maintenabilité du code.

Dans PHP, les statistiques de données peuvent être obtenues en utilisant des fonctions intégrées, des fonctions personnalisées et des bibliothèques tierces. 1) Utilisez des fonctions intégrées telles que Array_Sum () et Count () pour effectuer des statistiques de base. 2) Écrivez des fonctions personnalisées pour calculer des statistiques complexes telles que les médianes. 3) Utilisez la bibliothèque PHP-ML pour effectuer une analyse statistique avancée. Grâce à ces méthodes, les statistiques de données peuvent être effectuées efficacement.

Oui, les fonctions anonymes en PHP se réfèrent aux fonctions sans noms. Ils peuvent être transmis en tant que paramètres à d'autres fonctions et comme valeurs de retour des fonctions, ce qui rend le code plus flexible et efficace. Lorsque vous utilisez des fonctions anonymes, vous devez faire attention aux problèmes de portée et de performances.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Dreamweaver Mac
Outils de développement Web visuel
