Comment exporter des données d'une table vers un fichier csv à l'aide de jquery

lostInTheTetons

J'essaye d'exporter à partir d'une table de données dans un fichier CSV. Voici toute ma fonction. Il télécharge un fichier, mais il montre tout le code de la table et ne sépare aucune des données. Quand je dis le code entier, je veux dire tout ce qui se trouve dans 'table / table'

function displayDataTable(index){
$("#pageOverlay").empty();
    html = "<div id='volumeChartDiv'><h4>Data Table</h4><table id='dataTable' class='table table-bordered table-striped dataTable' role='grid'><thead><tr role='row'><th>header1</th><th>header2</th><th>header3</th></tr></thead><tbody><tr><td>cell1-1</td><td>cell1-2</td><td>cell1-3</td></tr><tr><td>bell2-1</td><td>bell2-2</td><td>bell2-3</td></tr><tr><td>fell3-1</td><td>fell3-2</td><td>fell3-3</td></tr></tbody></table><input type='button' value='Close' onclick='closeOverlay()'>&nbsp;&nbsp;<input type='button' id='exportDataTable' value='Export Table'></div>";
  $("#pageOverlay").html(html);
// export data function    
  $("#exportDataTable").click(function (e) {
      window.open('data:application/vnd.ms-excel,' + $('.dataTable').html());
      e.preventDefault();
});
   openOverlay();
}
Medet Tleukabiluly

Le format CSV ne peut pas accepter $('.dataTable').html()car il .html()ne s'agit pas de données structurées, ce ne sont même pas des données, juste un hmtl idiot.

Vous devez obtenir des données de votre table, créer une chaîne représentant le format CSV et la télécharger, car vous ne montrez pas la structure de données de votre table, voici la démo de travail ci-dessous

$('#export').click(function() {
  var titles = [];
  var data = [];

  /*
   * Get the table headers, this will be CSV headers
   * The count of headers will be CSV string separator
   */
  $('.dataTable th').each(function() {
    titles.push($(this).text());
  });

  /*
   * Get the actual data, this will contain all the data, in 1 array
   */
  $('.dataTable td').each(function() {
    data.push($(this).text());
  });
  
  /*
   * Convert our data to CSV string
   */
  var CSVString = prepCSVRow(titles, titles.length, '');
  CSVString = prepCSVRow(data, titles.length, CSVString);

  /*
   * Make CSV downloadable
   */
  var downloadLink = document.createElement("a");
  var blob = new Blob(["\ufeff", CSVString]);
  var url = URL.createObjectURL(blob);
  downloadLink.href = url;
  downloadLink.download = "data.csv";

  /*
   * Actually download CSV
   */
  document.body.appendChild(downloadLink);
  downloadLink.click();
  document.body.removeChild(downloadLink);
});

   /*
* Convert data array to CSV string
* @param arr {Array} - the actual data
* @param columnCount {Number} - the amount to split the data into columns
* @param initial {String} - initial string to append to CSV string
* return {String} - ready CSV string
*/
function prepCSVRow(arr, columnCount, initial) {
  var row = ''; // this will hold data
  var delimeter = ','; // data slice separator, in excel it's `;`, in usual CSv it's `,`
  var newLine = '\r\n'; // newline separator for CSV row

  /*
   * Convert [1,2,3,4] into [[1,2], [3,4]] while count is 2
   * @param _arr {Array} - the actual array to split
   * @param _count {Number} - the amount to split
   * return {Array} - splitted array
   */
  function splitArray(_arr, _count) {
    var splitted = [];
    var result = [];
    _arr.forEach(function(item, idx) {
      if ((idx + 1) % _count === 0) {
        splitted.push(item);
        result.push(splitted);
        splitted = [];
      } else {
        splitted.push(item);
      }
    });
    return result;
  }
  var plainArr = splitArray(arr, columnCount);
  // don't know how to explain this
  // you just have to like follow the code
  // and you understand, it's pretty simple
  // it converts `['a', 'b', 'c']` to `a,b,c` string
  plainArr.forEach(function(arrItem) {
    arrItem.forEach(function(item, idx) {
      row += item + ((idx + 1) === arrItem.length ? '' : delimeter);
    });
    row += newLine;
  });
  return initial + row;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button id="export">export</button>

<table class="dataTable">
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</table>

Si vous trouvez des bugs, commentez ci-dessous, je les corrigerai

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment exporter des données de FaceBook vers un fichier CSV à l'aide de Flutter

Comment exporter des données de table HTML contenant une virgule vers un fichier .csv?

Exporter des données Excel vers un fichier CSV à l'aide du nom de fichier Excel

Comment copier des données d'une table de page Web vers un fichier .csv?

Exporter un tableau html avec des listes déroulantes vers un fichier CSV à l'aide de jquery / javascript

Lien vers des données externes à l'aide d'une URL vers un fichier CSV

Comment obtenir une table dans un format à l'aide de pandas et l'exporter vers csv?

Pour chaque boucle, comment exporter des données vers une nouvelle ligne dans un fichier CSV?

J'essaie d'exporter des données analysées vers un fichier CSV avec Python et je n'arrive pas à comprendre comment exporter plus d'une ligne

Comment exporter des données de Bigquery vers un serveur externe dans un fichier CSV ?

Comment créer et ajouter des données d'un fichier csv à une grande requête et partitionner la table à l'aide de python ?

Comment exporter une entrée de données sous forme html vers un fichier .csv?

Exporter des données d'Elasticsearch vers CSV à l'aide de Logstash

Comment exporter la table d'une base de données dans un conteneur à l'aide d'un script bash?

Comment insérer des données d'un fichier texte dans une table SQL Server à l'aide de Python?

Comment exporter des données d'une base de données vers une feuille Excel à l'aide d'ASP.NET MVC?

Comment puis-je insérer des données d'un fichier CSV dans une trame de données à l'aide de pandas.read_csv?

Exporter une table d'une base de données dans un fichier csv

Exporter des données de Microsoft SQL Server à l'aide d'une requête vers des données cibles

Comment puis-je utiliser Python pour gratter une table de plusieurs pages et l'exporter vers un fichier CSV?

Comment exporter l'intégralité des enregistrements actifs d'un schéma vers un fichier csv

comment stocker les données de la table du site Web à l'aide de DataFrame vers un fichier csv #Python

Comment remplir une base de données à l'aide d'un fichier JSON dans des rails

Obtenez des données d'éléments dans plusieurs fichiers XML pour les exporter vers un autre fichier XML unique à l'aide de Powershell

Comment puis-je télécharger des données CSV d'une variable vers un fichier csv?

Comment puis-je exporter mes données de scrape Web python vers une feuille spécifique dans un fichier Excel existant à l'aide de pandas?

Comment charger des données à partir d'un fichier json externe à l'aide de jquery?

Comment exporter un fichier / une fonction C vers FMU à l'aide de fmusdk

Comment exporter une demande spécifique vers un fichier à l'aide de Postman?

TOP liste

  1. 1

    Comment exécuter un fichier python avec des droits d'administrateur dans pycharm

  2. 2

    comment obtenir un objet de requête dans les tests unitaires de django?

  3. 3

    mongo kafka connect source

  4. 4

    Vérifier la longueur du nombre à partir du message, puis utiliser la valeur dans l'instruction

  5. 5

    comment convertir une chaîne en un tuple dateutil jour de la semaine sans utiliser eval

  6. 6

    Comment ajouter un texte dans un texte Python/Tkinter

  7. 7

    Aide de variable de débogage pprint jinja2

  8. 8

    Dans les modèles Hugo, comment vérifier la longueur du tableau de fichiers JSON?

  9. 9

    Impression de la longueur du chemin le plus court dans le labyrinthe

  10. 10

    Exécuter la requête externe pour chaque date obtenue à partir de la requête interne

  11. 11

    Recherche de dicton Jinja2 à l'aide d'une clé variable

  12. 12

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  13. 13

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  14. 14

    définir une propriété pour chaque nœud dans neo4j

  15. 15

    Pourquoi cette requête Java échoue-t-elle? renvoyer 0 quand il y a des résultats

  16. 16

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  17. 17

    Laravel 8: Attempt to read property "id" on null

  18. 18

    Comment obtenir tous les champs d'un objet (y compris sa superclasse), à l'aide de l'API Mirrors de Dart?

  19. 19

    Référencement des assemblys de structure .net 4.7 dans la solution .net core 2

  20. 20

    Microsoft.WebApplication.targets

  21. 21

    obtenir le nombre de marqueur affiché sur la carte

chaudétiquette

Archive