Я использую шаблон Angular для чтения файла .CSV и создания таблицы. Итак, я создал два файла .CSV: один для заголовка, а второй - для содержимого таблицы.
Для CSV-файла заголовка: header.csv
Для данных таблицы CSV-файла : tableContent.csv
Теперь я могу читать все данные и преобразовывать их в массив, но я попадаю в один массив. Я делюсь своим кодом для большего понимания. Я поместил файл .csv в папку с ресурсами.
app.component.ts
export class AppComponent {
title = 'project';
myData: any;
myContent: any;
constructor(private httpClient: HttpClient) { }
ngOnInit() {
this.httpClient.get('assets/header.csv', { responseType: 'text' }).subscribe(
data => {
this.myData = data.split("\n");
}
);
}
clicked(event) {
console.log(event.srcElement.name);
this.httpClient.get('assets/tableContent.csv', { responseType: 'text' }).subscribe(
data => {
this.myContent = data.split(",");
let ab=this.myContent;
console.log("------------>",ab);
}
);
}
}
app. компонент. html
<table id="customers">
<tr>
<th *ngFor="let dataheader of myData"><button (click)="clicked($event)" id={{dataheader}} name={{dataheader}}>{{dataheader}}</button></th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
<td>Germany</td>
</tr>
</table>
Экран браузера
Я хочу создать несколько объектов массива. как показано ниже:
[{
"myAccess":["myAccess","Prod","URL","a@gmail.com","Enable"]
},
{
"System":["System","Environment","URL","a@gmail.com","Enable"]
},
{
"OAM":["OAM","DEV","URL","test@gmail.com","Enable"]
},
{
"Mylogin":["Mylogin","prod","URL","s@gmail.com","Enable"]
}]
Заголовок таблицы будет взят из определенного header.csv, а данные будут взяты из tableContent.csv. Итак, наконец, если я нажму на конкретный заголовок, он будет искать в объекте json (который читается tablecontent.csv). покажет конкретный результат. Например, если я нажму на myAccess, то связанные данные myaccess будут отображаться в данных таблицы.
Заранее спасибо, пожалуйста, поделитесь своей идеей.