当前位置:   article > 正文

html读取csv文件显示_html读取csv数据生成饼图

html读取csv数据生成饼图

一、代码1

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>读取 CSV 文件示例</title>
  6. </head>
  7. <body>
  8. <input type="file" id="input">
  9. <table id="output"></table>
  10. <script>
  11. // 获取 input 标签和 output 标签
  12. const input = document.getElementById('input');
  13. const output = document.getElementById('output');
  14. // 当用户选择文件时执行
  15. input.addEventListener('change', function() {
  16. // 读取文件
  17. const reader = new FileReader();
  18. reader.readAsText(input.files[0]);
  19. // 当文件读取完成时执行
  20. reader.onload = function() {
  21. // 解析 CSV 文件
  22. const csv = reader.result;
  23. const lines = csv.split('\n');
  24. const headers = lines[0].split(',');
  25. const data = lines.slice(1).map(line => line.split(','));
  26. // 渲染表格
  27. output.innerHTML = `
  28. <thead>
  29. <tr>
  30. ${headers.map(header => `<th>${header}</th>`).join('')}
  31. </tr>
  32. </thead>
  33. <tbody>
  34. ${data.map(row => `
  35. <tr>
  36. ${row.map(cell => `<td>${cell}</td>`).join('')}
  37. </tr>
  38. `).join('')}
  39. </tbody>
  40. `;
  41. };
  42. });
  43. </script>
  44. </body>
  45. </html>

二、效果1

 三、代码2

添加一些样式。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>读取 CSV 文件示例</title>
  6. <style>
  7. /* 设置表格样式 */
  8. table {
  9. margin: 20px auto;
  10. border-collapse: collapse;
  11. width: 80%;
  12. background-color: #fff;
  13. box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  14. }
  15. caption {
  16. font-size: 24px;
  17. font-weight: bold;
  18. text-align: center;
  19. padding-bottom: 10px;
  20. }
  21. /* 设置奇偶行的背景色 */
  22. tr:nth-child(odd) {
  23. background-color: #f2f2f2;
  24. }
  25. /* 设置表格列的边框样式和文本居中 */
  26. th, td {
  27. border: 1px solid #ccc;
  28. text-align: center;
  29. padding: 8px;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <input type="file" id="input">
  35. <table id="output">
  36. <caption>CSV 文件内容</caption>
  37. </table>
  38. <script>
  39. // 获取 input 标签和 output 标签
  40. const input = document.getElementById('input');
  41. const output = document.getElementById('output');
  42. // 当用户选择文件时执行
  43. input.addEventListener('change', function() {
  44. const file = input.files[0];
  45. // 判断文件是否为 CSV 格式
  46. if (file && file.type === 'text/csv') {
  47. // 读取文件
  48. const reader = new FileReader();
  49. reader.readAsText(file);
  50. // 当文件读取完成时执行
  51. reader.onload = function() {
  52. // 解析 CSV 文件
  53. const csv = reader.result;
  54. const lines = csv.split('\n');
  55. const headers = lines[0].split(',');
  56. const data = lines.slice(1).map(line => line.split(','));
  57. // 渲染表格
  58. output.innerHTML = `
  59. <caption>CSV 文件内容</caption>
  60. <thead>
  61. <tr>
  62. ${headers.map(header => `<th>${header}</th>`).join('')}
  63. </tr>
  64. </thead>
  65. <tbody>
  66. ${data.map(row => `
  67. <tr>
  68. ${row.map(cell => `<td>${cell}</td>`).join('')}
  69. </tr>
  70. `).join('')}
  71. </tbody>
  72. `;
  73. };
  74. } else {
  75. // 不是 CSV 格式文件,清空表格并更新标题
  76. output.innerHTML = '';
  77. output.caption.innerText = '请选择 CSV 格式文件!';
  78. }
  79. });
  80. </script>
  81. </body>
  82. </html>

四、效果2

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/529184
推荐阅读
相关标签
  

闽ICP备14008679号