javascript - 如何使用 JavaScript 添加新的 Html 列和行
问题描述
我有一个网络演示,允许用户上传他们的 csv 文件并在 Html 表上查看它。
演示:
但是,我想Serial
在 html 表的第一行添加一个新的列名。列serial
值实际上是从此列表中获取的:
list A = {'serial1': '8BQZ-CCSU-XY36', 'serial2': 'IEAJ-NVIS-VMKM'}
.
预期输出:
我的完整 Html 和 Javascript 代码:
const excel_file = document.getElementById('excel_file');
excel_file.addEventListener('change', (event) => {
if(!['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-excel'].includes(event.target.files[0].type))
{
document.getElementById('excel_data').innerHTML = '<div class="alert alert-danger">Only .xlsx or .xls file format are allowed</div>';
excel_file.value = '';
return false;
}
var reader = new FileReader();
reader.readAsArrayBuffer(event.target.files[0]);
reader.onload = function(event){
var data = new Uint8Array(reader.result);
var work_book = XLSX.read(data, {type:'array'});
var sheet_name = work_book.SheetNames;
var sheet_data = XLSX.utils.sheet_to_json(work_book.Sheets[sheet_name[0]], {header:1});
if(sheet_data.length > 0)
{
var table_output = '<table class="table table-striped table-bordered">';
for(var row = 0; row < sheet_data.length; row++)
{
table_output += '<tr>';
for(var cell = 0; cell < sheet_data[row].length; cell++)
{
if(row == 0)
{
table_output += '<th>'+sheet_data[row][cell]+'</th>';
}
else
{
table_output += '<td>'+sheet_data[row][cell]+'</td>';
}
}
table_output += '</tr>';
}
table_output += '</table>';
document.getElementById('excel_data').innerHTML = table_output;
}
excel_file.value = '';
}
});
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="https://unpkg.com/xlsx@0.15.1/dist/xlsx.full.min.js"></script>
</head>
<body>
<div class="container">
<h2 class="text-center mt-4 mb-4">Convert Excel to HTML Table using JavaScript</h2>
<div class="card">
<div class="card-header"><b>Select Excel File</b></div>
<div class="card-body">
<input type="file" id="excel_file" />
</div>
</div>
<div id="excel_data" class="mt-5"></div>
</div>
</body>
</html>
解决方案
推荐阅读
- amazon-web-services - Cloudformation AWS::IAM::Policy S3 完全访问的正确语法是什么
- php - 将自定义变量传递给 Formstone
- java - 如何在单个控制器中制作多个@PatchMapping?
- python - 如何在 django 电子邮件模块中使用对象(不是字符串)
- perl - 如何避免 PDL 子程序中的输入修改
- google-sheets - 使用 ORDER By 时,Google 表格查询函数返回 0 行
- d3.js - d3.csv 在 Internet Explorer 11 中不起作用
- android - 尽管 Gson 转换器从不返回 null,但在一个为 null 的成员变量上出现崩溃:不可能的情况
- javascript - Bootstrap Fullcalendar Modal 用于单个事件
- c# - Base() 和 This() 在构造函数中。(链式构造函数)