Maison  >  Questions et réponses  >  le corps du texte

javascript - 导出为EXCEL文件是重新查数据库还是从前端传数据?

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

ringa_leeringa_lee2713 Il y a quelques jours541

répondre à tous(5)je répondrai

  • PHP中文网

    PHP中文网2017-05-16 13:01:19

    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.

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:01:19

    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

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:01:19

    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

    répondre
    0
  • 怪我咯

    怪我咯2017-05-16 13:01:19

    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.

    répondre
    0
  • 高洛峰

    高洛峰2017-05-16 13:01:19

    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

    .

    répondre
    0
  • Annulerrépondre