javascript - 导出为EXCEL文件是重新查数据库还是从前端传数据?
ringa_lee
ringa_lee 2017-05-16 12:59:19
0
5
563

1.问题背景:前台页面用表格展示了数据,还要支持将数据导出为EXCEL文件。 查询数据库有时很慢(比如时间范围大[2年],sql语句执行时间差不多220s)
一般是导出的数据是重新查询数据库还是可以直接把前台得到的数据传给PHPExcel做处理?
感谢每一个回答者。
PS:sql语句优化尽力了(索引分区做了 多表有的表数据300w条),如果查询一周执行时间1.6s左右,查几年就得几分钟了。

ringa_lee
ringa_lee

ringa_lee

répondre à tous(5)
Ty80
  1. Les tableaux HTML peuvent être exportés directement vers xlsx ;

  2. Si 1 n'est pas utilisé, les données acquises seront mises en cache avant que le front-end n'affiche les données, et elles pourront être renvoyées au back-end lors de l'exportation sans avoir besoin d'une autre opération de base de données

  3.  ; Le principe de
  4. 2 est que la quantité de données se situe dans la plage acceptable de la communication front-end et back-end (par exemple, si elle dépasse 50 Mo, elle est trop grande), et la consommation de communication est sacrifiée pour le consommation de la base de données.

漂亮男人

En fait, js a un plug-in qui peut traiter Excel, mais n'obtenez-vous pas toujours les données dans le frontend depuis le backend

?

Plug-ins JS Excel, Baidu en a un tas, comme exceljs

Certains logiciels de gestion MySQL, comme Navicat, peuvent exporter directement la base de données vers Excel. Vous n'avez pas besoin d'utiliser PHP pour exporter. Bien que je puisse tout réaliser avec le meilleur langage du monde, vous devez également considérer que d'autres choses peuvent le faire. également être atteint

给我你的怀抱

Personnellement, je ne prends pas en charge la récupération des données en arrière-plan. Vous pouvez directement exporter le code HTML vers Excel comme indiqué ci-dessus. Bien sûr, vous pouvez le traiter en arrière-plan, mais lorsque vous affichez les données en HTML, mettez en cache. les données vers le serveur. Si vous exportez Excel, lisez les données directement depuis la zone de cache, puis exportez-les vers Excel

刘奇

Généralement, l'exportation de données vers EXCEL est une opération back-end. Ici, l'utilisateur sélectionnera certaines conditions pour exporter les données. Si le backend prend du temps, il peut être traité à l'aide de tâches asynchrones.

小葫芦

Posez la question, je veux savoir si exporter des données signifie exporter toutes les données ? Ou puis-je choisir une plage horaire ? Si vous exportez tout, vous pouvez exécuter une tâche planifiée en arrière-plan. Choisissez un moment où le nombre de clients est faible, comme aller en arrière-plan la nuit pour vérifier toutes les données, puis l'obtenir simplement lors de l'exportation. période précédente. La tâche planifiée vérifiera également les données régulièrement chaque jour. Est-ce la dernière

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!