前提・実現したいこと
objectをCSVに変換したいです。
調べた結果、下記のようなコードで変換できることが分かりました。
ですが、余計な列ができてしまいます。一番左の列が不要なので消したいと考えております。
どうかご教授いただけますと幸いです。
該当のソースコード
typescript
1 const csv = this.ConvertToCSV(object, ["id", "name"]); 2 3 ConvertToCSV(objArray: object, headerList: Array<string>) { 4 let array = typeof objArray != "object" ? JSON.parse(objArray) : objArray; 5 let str = ""; 6 let row = "No,"; 7 8 for (let index in headerList) { 9 row += headerList[index] + ","; 10 } 11 12 row = row.slice(0, -1); 13 str += row + "\r\n"; 14 for (let i = 0; i < array.length; i++) { 15 let line = i + 1 + ""; 16 for (let index in headerList) { 17 let head = headerList[index]; 18 line += "," + array[i][head]; 19 } 20 str += line + "\r\n"; 21 } 22 console.log(str); 23 return str; 24 }
結果
No,id,name
1,01,A
2,02,B
3,03,C
4,04,D
5,06,F
6,07,G
7,08,H
8,10,J
試したこと
typescript
1 const csv = this.ConvertToCSV(object, ["id", "name"]); 2 3 ConvertToCSV(objArray: object, headerList: Array<string>) { 4 let array = typeof objArray != "object" ? JSON.parse(objArray) : objArray; 5 let str = ""; 6 let row = ""; 7 8 for (let index in headerList) { 9 row += headerList[index] + ","; 10 } 11 12 row = row.slice(0, -1); 13 str += row + "\r\n"; 14 for (let i = 0; i < array.length; i++) { 15 let line = ""; 16 for (let index in headerList) { 17 let head = headerList[index]; 18 line += "," + array[i][head]; 19 } 20 str += line + "\r\n"; 21 } 22 console.log(str); 23 return str; 24 }
rowのNoを消して
変数 lineのi + 1 を削除した結果が下記のようになってしまいます。
id,name
,01,A
,02,B
,03,C
,04,D
,06,F
,07,G
,08,H
,10,J
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/20 14:55