Я пытаюсь написать программу, которая может случайным образом выбирать имя учащегося из списка имен.Список имен должен быть добавлен с использованием формата файла CSV, и эти имена должны быть помещены в массив, чтобы имя студента можно было «заблокировать», если они отсутствуют на уроке, чтобы их имя не было выбрано.
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Http } from '@angular/http';
import * as papa from 'papaparse';
@IonicPage()
@Component({
selector: 'page-csv',
templateUrl: 'csv.html',
})
export class CsvPage {
csvData: any[] = [];
headerRow: any[] = [];
constructor(
public navCtrl: NavController,
public navParams: NavParams,
private http: Http) {
// this.readCsvData();
}
/*
private readCsvData() {
this.http.get('assets/csv.csv')
.subscribe(
data => this.extractData(data),
err => this.handleError(err)
);
}
private extractData(res) {
let csvData = res['_body'] || '';
let parsedData = papa.parse(csvData).data;
this.headerRow = parsedData[0];
parsedData.splice(0, 1);
this.csvData = parsedData;
}
downloadCSV() {
let csv = papa.unparse({
fields: this.headerRow,
data: this.csvData
});
var blob = new Blob([csv]);
var a = window.document.createElement("a");
a.href = window.URL.createObjectURL(blob);
a.download = "newdata.csv";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
private handleError(err) {
console.log('An error has occured: ', err);
}
trackByFn(index: any, item: any) {
return index;
}
}
handleFiles(files) {
// Check for the various File API support.
if (window.FileReader) {
// FileReader are supported.
} else {
alert('FileReader are not supported in this browser.');
}
}
*/
getAsText(fileToRead) {
var reader = new FileReader();
reader.readAsText(fileToRead)
reader.onload = this.loadHandler;
reader.onerror = this.errorHandler;
}
loadHandler(event) {
var csv = event.target.result;
this.processData(csv);
}
processData(csv) {
var allTextLines = csv.split(/\r\n|\n/);
var lines = [];
for (var i=0; i<allTextLines.length; i++) {
var data = allTextLines[i].split(';');
var tarr = [];
for (var j=0; j<data.length; j++) {
tarr.push(data[j]);
}
lines.push(tarr);
}
console.log(lines);
}
errorHandler(evt) {
if(evt.target.error.name == "NotReadableError") {
alert("Canno't read file !");
}
}
}
Код между / * и * / - это первый способ, которым я попытался это сделать, но он не сработал.
Он должен вывести список имен, которые можно изменитьиз приложения.Как я могу это сделать?