Как получить данные таблицы, которые в настоящее время присутствуют на экране, используя javascript и преобразовать их в CSV-файл - PullRequest
0 голосов
/ 26 апреля 2020

после применения фильтра в таблице присутствуют 4 записи. Как мы можем сохранить эти данные и преобразовать их в csv. В настоящее время я могу загружать полные данные таблицы, используя python код. Но теперь я хочу получить и загрузить CSV данных, которые присутствуют на экране.

================================= ======================================

1 Ответ

0 голосов
/ 26 апреля 2020
function getTableDataFn() {
    //we can use any of the get methods based on what we want
    let reqTable = document.getElementById("tableId");

    //Get rows
    let rows = reqTable.rows.length;

    //Get columns
    let columns = 0;
    if (rows > 0)
        columns = reqTable.rows[0].cells.length;

    let dataInArray = [];

    let strVersionOfData = ``;

    //Loop through row and column to get data in the object
    for (let r = 0; r < rows; r++) {
        dataInArray[r] = [];
        for (let c = 0; c < columns; c++) {
            let tempData = reqTable.rows[r].cells[c].innerHTML;
            dataInArray[r][c] = tempData;
            strVersionOfData += tempData;
            if (c != columns - 1)
                strVersionOfData += ",";
        }
        strVersionOfData += "\n";
    }

    //Now the dataInArray has all the data and
    //strVersionofData has the string

 downloadCSVStringFn(strVersionOfData,'mycsv');

}

Вышеупомянутый код может помочь вам получить данные в виде массива и строки. Теперь, если вы хотите, чтобы ваш CSV-контент был загружен в файл с именем, вы можете go с помощью указанной ниже функции

function downloadCSVStringFn(fileName = "", csvString = "") {

    //Encode CSV data
    var encodedUri = encodeURI(csvString);
    //Create link 
    var link = document.createElement("a");
    //set attributes
    link.setAttribute("href", encodedUri);
    link.setAttribute("download", fileName + ".csv");
    //Append in document
    document.body.appendChild(link); // Required for FF
    //Click .. this will download 
    link.click();

    //you can further delete the link too .. or have this is a component in case
    //you have download as a reusable utility
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...