我需要将txt文件输入javascript,然后显示一个包含txt文件信息的表

我需要将txt文件输入javascript,然后显示一个包含txt文件信息的表,javascript,html,html-table,txt,Javascript,Html,Html Table,Txt,我刚开始编程,我收到了那个任务,我有一个txt文件: nombre=“马里奥”; apellido=“Atencio”; cedula=“8-782-2289”; telefono=“233-7867”; 科雷奥=”matencio@misitio.com"; nombre2=“罗伯托”; apellido2=“Icaza”; cedula2=“8-582-2149”; telefono2=“393-5517”; correo2=”ricaza@miweb.com"; 我需要先输入它,然后把它

我刚开始编程,我收到了那个任务,我有一个txt文件:

nombre=“马里奥”;
apellido=“Atencio”;
cedula=“8-782-2289”;
telefono=“233-7867”;
科雷奥=”matencio@misitio.com";
nombre2=“罗伯托”;
apellido2=“Icaza”;
cedula2=“8-582-2149”;
telefono2=“393-5517”;
correo2=”ricaza@miweb.com";
我需要先输入它,然后把它转换成一个表;我能够使用以下代码创建文本的输入和读取:


阿克沃伯爵酒店
功能客户机(e){
var archivo=e.target.files[0];
如果(!archivo){
返回;
}
var lector=new FileReader();
lector.onload=函数(e){
var contenido=e.target.result;
mostrarContenido(康特尼多);
};
读入文本(archivo);
}
函数mostrarContenido(contenido){
var elemento=document.getElementById('contenido-archivo');
elemento.innerHTML=contenido;
}
document.getElementById('file-input')
.addEventListener('change',Cargarclients,false);
但它只显示txt文件中的内容,所以我尝试将txt文件更改为变量,如下所示


var苹果=2;
var nombre=“马里奥”;
var apellido=“Atencio”;
var cedula=“8-782-2289”;
var telefono=“233-7867”;
var correo=”matencio@misitio.com";
var nombre2=“罗伯托”;
var apellido2=“Icaza”;
var cedula2=“8-582-2149”;
var telefono2=“393-5517”;
var correo2=”ricaza@miweb.com";
当我运行它并输入txt文件时,它没有显示任何内容,所以我猜它是作为变量读取的,但我不知道如何将它们放入表中。我只知道如何在HTML上创建如下表格:


桌子{
宽度:80%;
边框:1px实心#fff;
盒影:-18px-8px 20px#ccc;
左边缘:13%;
}
tr{
宽度:100%;
}
运输署{
背景:透明;
宽度:10%;
边框顶部:1px实心#003;
边界权:无;
左边界:无;
字体:62%Arial,Helvetica;
填充:6px;
文本对齐:右对齐;
}
th{
字体:62%Arial,Helvetica;
背景#8ADBFE;
颜色:#FFFFFF
}
花色{
文本对齐:居中;
背景:#CBCB;
颜色:#BDEBFE
}
名义
阿佩利多
塞杜拉
电传
科雷奥电子公司
休伦
SD
1281
100
-30
快速城市
SD
3162
106
-30
(表必须是特定的颜色),问题是因为如果我混合了代码的两部分,我可以看到输入文件的按钮,但表已经存在(这就是为什么我没有尝试使用表上的变量)。因此,基本上我需要在输入txt后显示该表,使用txt文件中的变量。我甚至不知道我使用的代码是否正确,或者我是否需要以不同的方式制作表格

这就是我想到的


桌子{
宽度:80%;
边框:1px实心#fff;
盒影:-18px-8px 20px#ccc;
左边缘:13%;
}
tr{
宽度:100%;
}
运输署{
背景:透明;
宽度:10%;
边框顶部:1px实心#003;
边界权:无;
左边界:无;
字体:62%Arial,Helvetica;
填充:6px;
文本对齐:右对齐;
}
th{
字体:62%Arial,Helvetica;
背景#8ADBFE;
颜色:#FFFFFF
}
花色{
文本对齐:居中;
背景:#CBCB;
颜色:#BDEBFE
}
阿克沃伯爵酒店
功能客户机(e){
var archivo=e.target.files[0];
如果(!archivo){
返回;
}
var lector=new FileReader();
lector.onload=函数(e){
var contenido=e.target.result;
mostrarContenido(康特尼多);
};
读入文本(archivo);
}
函数mostrarContenido(contenido){
var elemento=document.getElementById('contenido-archivo');
elemento.innerHTML=contenido;
}
document.getElementById('file-input')
.addEventListener('change',Cargarclients,false);
名义
阿佩利多
塞杜拉
电传
科雷奥电子公司
休伦
SD
1281
100
-30
快速城市
SD
3162
106
-30

一旦我将txt文件的内容转换为
对象,神奇的事情就会发生

您可以使用一个简单的
JSON.stringify(nameOfObject)
方法将文件转换为对象表示法
JSON
,使用
JSON.parse(nameOfObject)

相反,我将txt文件转换为

nombre=["Mario","Roberto"];
apellido=["Atencio","Icaza"];
cedula=["8-782-2289","8-582-2149"];
telefono=["233-7867","393-5517"];
correo=["matencio@misitio.com","ricaza@miweb.com"];
然后我把它变成一个物体,通过

e.target.result.split('\n').forEach(a=>{
  eval('obj.'+a); //turns the txt file data into an object
});
现在,关于完整的代码,请看一看

函数CargarClientes(e){ var obj={}; var archivo=e.target.files[0]; 如果(!archivo){ 返回; } var lector=new FileReader(); lector.onload=函数(e){//制表 e、 target.result.split('\n').forEach(a=>{ eval('obj.+a);//将txt文件数据转换为对象 }); var myTable=document.createElement('table'); myTable.cellPadding=0;myTable.cellSpacing=0; appendChild(document.createElement('thead'); 对于(var i=0;i{//除了“头”之外的所有内容) 对于(var i=0;i{///头) var myData=document.createElement('th'); myData.innerText=a; myTable.tHead.insertBefore(myData,myTable.tHead.childNodes[0]); }); document.body.appendChild(myTable);//表格放置 }; 读入文本(archivo); } document.getElementById('file-input')。addEventListener('change',cargarclients,false);
表格{
宽度:80%;
边框:1px实心#fff;
盒影:-18px-8px 20px#ccc;
左边缘:13%;
}
tr{