Download CSV

Export csv file from the table tag.

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

// ==UserScript==
// @name         Download CSV
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  Export csv file from the table tag.
// @author       Mr Dark
// @match        https://*/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant        none
// @require https://code.jquery.com/jquery-3.6.0.min.js
// @license MIT
// ==/UserScript==

(function() {
    const buttonText = 'Download CSV';
    const buttonType = 'button';


    const separator = ",";

    function download_table_as_csv(event) {
        const table = $(this).next("table")

        if (!table) {
            throw new Error('Click event not triggered on a table element');
        }
        var table_id = table.id || "NoName";

        // ... your existing code ...

        // Use the `table` variable for selector and other operations

        let csv = "";
        table.find('tr').each(function() {
            const cells = $(this).find('td, th');
            const data = [];

            // Extract and format data from each cell
            cells.each(function() {
                let cellData = $(this).text().trim().replace(/(\r\n|\n|\r)/gm, "").replace(/(\s\s)/gm, " ");
                cellData = cellData.replace(/"/g, `""`);
                data.push(`"${cellData}"`);
            });

            csv += data.join(",") + "\n";
        });


        // Download it
        var filename = "export_" + table_id + "_" + new Date().toLocaleDateString() + ".csv";
        var link = document.createElement("a");
        link.style.display = "none";
        link.setAttribute("target", "_blank");
        link.setAttribute("href", "data:text/csv;charset=utf-8," + encodeURIComponent(csv));
        link.setAttribute("download", filename);
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
    }
 setTimeout(function(){
    const tables = document.querySelectorAll('table');
    for (const table of tables) {
        const button = document.createElement('button');
        button.textContent = buttonText;
        button.type = buttonType;

        // Add styles to the button
        button.style.backgroundColor = 'green';
        button.style.color = 'white';

        // Add click event listener to the button
        button.addEventListener('click', download_table_as_csv);
        table.parentNode.insertBefore(button, table);
    }
},3000);
})();