Agarwal1984 Ответов: 1

Как предотвратить разделение строки, разделенной запятыми, в angular?


Привет,
Я пытаюсь экспортировать csv с помощью angular.
мой массив-
140 abc (адрес1)
xyz, Дели (адрес2)
мой фактический адрес: "140 abc, xyz, delhi" (address1,address2)
результат-
store_id|Store_Name|адрес|пин-код|вид|статус
1|АБВ|140 АВС|XYZ|Дели|10001|ХХХ|ССС

результат отображается неправильно.
пожалуйста, помогите мне, как будет отображаться правильный результат.

заранее спасибо.
Анкит Агарвал
инженер-программист

Что я уже пробовал:

ConvertToCSV(objArray) {
    //var arr=['store_id','store_name','address1','address2','pincode','landmark','status_text']
    const newArray = objArray.map(o => {
      return { store_id: o.store_id, store_name: o.store_name, address: o.address1 +" "+ o.address2, pincode: o.pincode,landmark: o.landmark,status: o.status_text };
    });
    
    var array = typeof newArray != 'object' ? JSON.parse(newArray) : newArray;
    var str = '';
    var row = '';

   
    for (var index in newArray[0]) {
        //Now convert each value to string and comma-separated
        row += index + ',';
        
    }
    row = row.slice(0, -1);
    //append Label row with line break
    str += row + '\r\n';

    for (var i = 0; i < array.length; i++) {
      
        var line = '';
        for (var index in array[i]) {
            if (line != '') line += ','
            line += array[i][index];
        }
        str += line + '\r\n';
    }
    return str;
}

1 Ответов

Рейтинг:
2

OriginalGriff

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

1,"abc","140 abc,xyz,delhi",10001,"xxx","sss"
Чтобы включить двойные кавычки в строку с двойными кавычками, удвойте их:
1,"abc","140 abc,""xyz"",delhi",10001,"xxx","sss"
Я дам вам эти колонки:
1
abc
140 abc,"xyz",delhi
10001
xxx
sss