Click here to Skip to main content
15,887,135 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello,
I am trying to export csv using angular.
my array is-
140 abc (address1)
xyz, delhi (address2)
my actual address is "140 abc, xyz, delhi" (address1,address2)
result-
store_id|Store_Name|Address|Pincode|Landmark|Status
1|abc|140 abc|xyz|delhi|10001|xxx|sss

result is displaying wrong.
please help me how will be display correct result.

Thanks in Advance.
Ankit Agarwal
Software Engineer

What I have tried:

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;
}
Posted
Updated 26-Apr-19 1:07am

1 solution

If you want to keep commas as part of a string in any CSV file, you have to delimit the whole string column with double quotes. In fact, it's a good idea to always use double quotes around any string in a CSV file:
1,"abc","140 abc,xyz,delhi",10001,"xxx","sss"
To include double quotes in a double quoted string, double them:
1,"abc","140 abc,""xyz"",delhi",10001,"xxx","sss"
Will give you these columns:
1
abc
140 abc,"xyz",delhi
10001
xxx
sss
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900