Supposons que j'ai ce code de boucle.
function downloadFile(fileName, urlData) { var aLink = document.createElement('a'); aLink.download = fileName; aLink.href = urlData; var event = new MouseEvent('click'); aLink.dispatchEvent(event); } downloadFile('output.csv', 'outputDiv.innerHTML/csv;charset=UTF-8,' + encodeURIComponent(outputDiv.innerHTML));
3 Réponses :
Cette solution est dans de MDN Web Docs P > Le lorsque le Vous pouvez télécharger les données à l'aide d'un objet code> blob code> qui est un Objet de type de fichier de données brutes immuables .
P> OUTERHTML code> de
code>.
OUTERHTML code> comprend strong> les balises d'ouverture et de fermeture de l'élément ainsi que du contenu, tandis que
innerhtml code> ne comprend pas les étiquettes d'ouverture et de fermeture. P>
OUTERHTML CODE> FORT> Attribut de l'interface d'élément DOM reçoit le fragment HTML sérialisé décrivant l'élément, y compris ses descendants. Il peut également être réglé pour remplacer l'élément avec des nœuds analysés de la chaîne donnée. P>
blockQuote>
Innertext code> est extrait de toutes les lignes et colonnes.
download_csv code> est appelé. p>
<table>
<tr><th>Name</th><th>Age</th><th>Country</th></tr>
<tr><td>Tony</td><td>26</td><td>USA</td></tr>
<tr><td>Levi</td><td>19</td><td>Spain</td></tr>
<tr><td>Calvin</td><td>32</td><td>Russia</td></tr>
</table>
<button>Export HTML table to CSV file</button>
Je ne sais pas de quoi essayez-vous de réaliser dans votre dernière ligne, mais cela ne ressemble pas à un dataurl, un dataurl ressemble à:
Données: [] [; base64], P> BlockQuote>
Maintenant qu'être dit, l'idée est de créer une URL d'objet via une combinaison de
blob code> et
window.url.createobjecturl code>: p>
xxx pré> l'utiliser comme ceci:
dl (sortiediv.innerhtml, "somename") code> p>
Il est important de vous rappeler que certains navigateurs peuvent Ne pas autoriser cliquer pour déclencher sur un élément
pas strud> dans le DOM encore, dans ce cas, vous voudrez peut-être ajouter l'élément un élément sur le corps, réglez-le invisible, puis retirez-le à l'intérieur de SettimeOut. P> Je l'ai écrit dans la plaine ES5, vous pouvez vous adapter à
const code>, promis au lieu de des déclarations de sécurité, etc. p> p>
Assurez-vous que votre contenu de div a des chaînes contenant des virgules. Depuis que nous ne pouvons pas voir le contenu.
J'ai déjà mis la sortie div.innerhtml = ""; Au début du code
Bienvenue à @marinaramosa. Si possible, veuillez inclure des exemples de code où
téléchargles code> est appelé et échantillon HTML.