使用javascript生成csv时限制了结果的数量

wi3ka0sx  于 2022-12-06  发布在  Java
关注(0)|答案(1)|浏览(91)

当我要生成CSV时,它使用javascript生成csv,但它给我带来的数据比我在数据库中的少,例如,在帐户报告中,我的数据库中有400个,但当我得到csv时,它只给我返回118个结果,有人知道它可能是什么吗?我的API是Laravel。
如果我给予一个console.log(accounts),它将返回数据库的所有记录,即400个值

import React from "react";
import { useState, useEffect } from "react";
import axios from "axios";

const endpoint = "http://localhost:8000/api";

const ReportAccount = () => {
  const [accounts, setAccounts] = useState([]);

  useEffect(() => {
    getAllAccounts();
  }, []);

  const getAllAccounts = async () => {
    const response = await axios.get(`${endpoint}/accounts`);
    setAccounts(response.data);
  };

  var gerarCsv = function () {
    var csv =
      "id| nome| tipo| rua| cidade| cep| estado| pais| siteWeb| setor| receitaAnual| funcionarios| descricao|auditoriaIndependente| cnpj| capital| dataEncerramento| demandasJuridicas| estrategiaCliente| marcas| metaAnuais| naturezaJuridica| observacaoRegimeEspecial| origemConta| outrasRelevantes| principaisProdutos|principalNecessidade| regimeEspecial| segmentoAtuacao| socAnual| statusConta| razaoSocial| quantidadeOportunidadesGanhas| dataFundacao| projeto\n";

    accounts.forEach(function (row) {
      csv += row.id;
      csv += "|" + row.nome;
      csv += "|" + row.tipo;
      csv += "|" + row.rua;
      csv += "|" + row.cidade;
      csv += "|" + row.cep;
      csv += "|" + row.estado;
      csv += "|" + row.pais;
      csv += "|" + row.siteWeb;
      csv += "|" + row.setor;
      csv += "|" + row.receitaAnual;
      csv += "|" + row.funcionarios;
      csv += "|" + row.descricao;
      csv += "|" + row.capital;
      csv += "|" + row.auditoriaIndependente;
      csv += "|" + row.cnpj;
      csv += "|" + row.capital;
      csv += "|" + row.dataEncerramento;
      csv += "|" + row.demandasJuridicas;
      csv += "|" + row.estrategiaCliente;
      csv += "|" + row.marcas;
      csv += "|" + row.metaAnuais;
      csv += "|" + row.naturezaJuridica;
      csv += "|" + row.observacaoRegimeEspecial;
      csv += "|" + row.origemConta;
      csv += "|" + row.outrasRelevantes;
      csv += "|" + row.principaisProdutos;
      csv += "|" + row.principalNecessidade;
      csv += "|" + row.regimeEspecial;
      csv += "|" + row.segmentoAtuacao;
      csv += "|" + row.socAnual;
      csv += "|" + row.statusConta;
      csv += "|" + row.razaoSocial;
      csv += "|" + row.quantidadeOportunidadesGanhas;
      csv += "|" + row.dataFundacao;
      csv += "|" + row.projeto;
      csv += "\n";
    });

    var hiddenElement = document.createElement("a");
    hiddenElement.href = "data:text/csv;charset=utf-8," + encodeURI(csv);
    hiddenElement.target = "_blank";
    hiddenElement.download = "Accounts.csv";
    hiddenElement.click();
  };

  return (
    <div>
      <div class="d-grid gap-2">
        <button
          onClick={() => gerarCsv()}
          className="btn btn-outline-primary m-1"
        >
          Contas
        </button>
      </div>
    </div>
  );
};

export default ReportAccount;
djp7away

djp7away1#

朋友,使用库https://www.npmjs.com/package/react-csv解决

import { CSVLink } from "react-csv";

<CSVLink
  data={data}
  filename={"my-file.csv"}
  className="btn btn-primary"
  target="_blank"
>
  Download me
</CSVLink>;

相关问题