【js】读取Excel文件(xlsx格式),并用表格(table)展示数据

朱雀 2023-02-10 03:52 140阅读 0赞

1、效果

在这里插入图片描述

2、下载xlsx.mini.js

GitHub上有一个读取Excel文件的项目
https://github.com/SheetJS/sheetjs
因为我只是想要读取xlsx文件,故只下载了项目里的一个xlsx.mini.js文件

3、主要代码

  1. <script type="text/javascript" src="js/xlsx.mini.js" ></script>
  2. <script>
  3. var excelFile;
  4. // 读取文件的内容
  5. function showfile(obj) {
  6. if(!obj.files) {
  7. return;
  8. }
  9. var f = obj.files[0];
  10. var reader = new FileReader();
  11. reader.readAsBinaryString(f);
  12. reader.onload = function(e) {
  13. var data = e.target.result;
  14. excelFile = XLSX.read(data, {
  15. type: 'binary'
  16. });
  17. //展示所有表
  18. // for(var i=0;i<excelFile.SheetNames.length;i++){
  19. //  document.getElementById("excelFile").innerHTML +=excelFile.SheetNames[i]+"="+JSON.stringify(XLSX.utils.sheet_to_json(excelFile.Sheets[excelFile.SheetNames[i]]))+"<br/>";
  20. //       }
  21. var dataTable1 = "";
  22. //只展示第一个表
  23. var headers = new Array();
  24. var str = XLSX.utils.sheet_to_json(excelFile.Sheets[excelFile.SheetNames[0]])
  25. dataTable1+= "<table border='1'><tr>"
  26. for(var key in str[0]){
  27. headers.push(key) //获取表头
  28. dataTable1 += "<th>" + key + "</th>"
  29. }
  30. dataTable1 += "</tr>"
  31. // console.log(headers)
  32. //这里显示前五行
  33. for(var i=0;i<5;i++){
  34. // var json = JSON.stringify(str[i])
  35. dataTable1 += "<tr>"
  36. var json = str[i]
  37. for( var j=0;j<headers.length;j++){
  38. dataTable1 += "<td>" + json[headers[j]] + "</td>";
  39. }
  40. dataTable1 += "</tr>"<br/>";
  41. }
  42. dataTable1 += "</table>"
  43. document.getElementById("excelFile").innerHTML = dataTable1
  44. }
  45. }
  46. </script>
  47. <div class="up_btn">
  48. <input type="file" id="xFile" name="" accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" onchange="showfile(this)"></div>
  49. <div id="excelFile"></div>

发表评论

表情:
评论列表 (有 0 条评论,140人围观)

还没有评论,来说两句吧...

相关阅读