Hướng dẫn how do i display a csv file in html? - làm cách nào để hiển thị tệp csv trong html?

Tôi đang cố gắng nhập một tệp CSV cục bộ với các tiêu đề vào tệp HTML cục bộ, sau đó sẽ hiển thị dưới dạng bảng trong trình duyệt.

Tôi đã không học HTMland JavaScript lâu dài, vì vậy tôi không biết nhiều về việc nhập và chuyển đổi. Những gì tôi cần là một số lời khuyên hoặc có thể là một tập lệnh cơ bản mô tả loại chức năng tôi cần. Giải thích và lời khuyên đều được hoan nghênh!

Đây là một ví dụ về tệp CSV:

    heading1,heading2,heading3,heading4,heading5
    value1_1,value1_2,value1_3,value1_4,value1_5
    value2_1,value2_2,value2_3,value2_4,value2_5
    value3_1,value3_2,value3_3,value3_4,value3_5
    value4_1,value4_2,value4_3,value4_4,value4_5
    value5_1,value5_2,value5_3,value5_4,value5_5

Đây là cách tôi muốn hiển thị nó:

http://jsfiddle.net/yekdkdLm

Chào mừng bạn đến với một hướng dẫn về cách đọc tệp CSV và hiển thị nó trong bảng HTML với JavaScript. Bạn đã đọc đúng. JavaScript hiện đại thực sự có khả năng đọc các tệp CSV và trực tiếp xuất chúng. Không cần phía máy chủ. Đọc về các ví dụ!

Tôi đã bao gồm một tệp zip với tất cả các mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không phải sao chép mọi thứ, hoặc nếu bạn chỉ muốn đi thẳng vào.

TLDR - Slide nhanh

Hướng dẫn how do i display a csv file in html? - làm cách nào để hiển thị tệp csv trong html?

MỤC LỤC

Tải xuống & ghi chú

Thứ nhất, đây là liên kết tải xuống đến mã ví dụ như đã hứa.

Ghi chú nhanh

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với toàn bộ thế giới, nếu bạn cần câu trả lời khẩn cấp, vui lòng kiểm tra danh sách các trang web của tôi để nhận trợ giúp lập trình.

Ảnh chụp màn hình

Hướng dẫn how do i display a csv file in html? - làm cách nào để hiển thị tệp csv trong html?

Mã hóa ví dụ Tải xuống

Nhấn vào đây để tải xuống mã nguồn, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên đó hoặc sử dụng nó trong dự án của riêng bạn.

Được rồi, bây giờ chúng ta hãy vào các ví dụ về việc đọc tệp CSV và hiển thị nó trong bảng HTML với JavaScript.

Tệp CSV giả

0-dummy.csv

Jo Doe,,465785
Joa Doe,,123456
Job Doe,,234567
Joe Doe,,345678
Jog Doe,,578456
Joh Doe,,378945
Joi Doe,,456789
Jon Doe,,987654
Jor Doe,,754642
Joy Doe,,124578

Hãy để chúng tôi bắt đầu với một tệp CSV giả, danh sách người dùng giả. Đối với những người chưa quen với các giá trị phân tách của Comma Comma:

  • Các tập tin CSV chỉ là văn bản đơn giản.
  • Chúng tôi sử dụng các dòng ngắt \r\n để chỉ ra các hàng.
  • Chúng tôi sử dụng dấu phẩy , để chỉ ra các cột.
  • Nếu ô chứa dấu phẩy, giá trị sẽ được đặt trong các trích dẫn. Ví dụ. ________số 8

Ví dụ 1) Trình chọn tệp CSV đến bảng HTML

1a) HTML

1a-read-csv.html

<!-- (A) PICK CSV FILE -->
<input type="file" accept=".csv" id="demoPick">
 
<!-- (B) GENERATE HTML TABLE HERE -->
<table id="demoTable"></table>
  • <input type="file"> Một trình chọn tệp chỉ giới hạn trong các tệp CSV.
  • Jo Doe,,465785
    Joa Doe,,123456
    Job Doe,,234567
    Joe Doe,,345678
    Jog Doe,,578456
    Joh Doe,,378945
    Joi Doe,,456789
    Jon Doe,,987654
    Jor Doe,,754642
    Joy Doe,,124578
    0 Bảng trống để hiển thị nội dung CSV.

1b) JavaScript

1b-read-csv.js

// (A) FILE READER + HTML ELEMENTS
let reader = new FileReader(),
    picker = document.getElementById("demoPick"),
    table = document.getElementById("demoTable");

// (B) READ CSV ON FILE PICK
picker.onchange = () => reader.readAsText(picker.files[0]);

// (C) READ CSV & GENERATE TABLE
// CREDIT : https://thegermancoder.com/2018/11/29/how-to-parse-csv-with-javascript/
reader.onloadend = () => {
  table.innerHTML = "";
  let rows = reader.result.split("\r\n");
  for (let row of rows) {
    let cols = row.match(/(?:\"([^\"]*(?:\"\"[^\"]*)*)\")|([^\",]+)/g);
    if (cols!=null) {
      let tr = table.insertRow();
      for (let col of cols) {
        let td = tr.insertCell();
        td.innerHTML = col.replace(/(^"|"$)/g, "");
      }
    }
  }
};

Đó là khá nhiều mã JavaScript, nhưng đây là một bản tóm tắt nhanh chóng.

  1. Jo Doe,,465785
    Joa Doe,,123456
    Job Doe,,234567
    Joe Doe,,345678
    Jog Doe,,578456
    Joh Doe,,378945
    Joi Doe,,456789
    Jon Doe,,987654
    Jor Doe,,754642
    Joy Doe,,124578
    1 Chúng tôi sẽ sử dụng đối tượng đầu đọc tệp này để đọc tệp CSV đã chọn.
  2. Jo Doe,,465785
    Joa Doe,,123456
    Job Doe,,234567
    Joe Doe,,345678
    Jog Doe,,578456
    Joh Doe,,378945
    Joi Doe,,456789
    Jon Doe,,987654
    Jor Doe,,754642
    Joy Doe,,124578
    2 Khi người dùng chọn tệp CSV, chúng tôi sẽ đọc nó dưới dạng văn bản đơn giản.
  3. Khi
    Jo Doe,,465785
    Joa Doe,,123456
    Job Doe,,234567
    Joe Doe,,345678
    Jog Doe,,578456
    Joh Doe,,378945
    Joi Doe,,456789
    Jon Doe,,987654
    Jor Doe,,754642
    Joy Doe,,124578
    3 được thực hiện, đọc tệp CSV đã chọn.
    • Jo Doe,,465785
      Joa Doe,,123456
      Job Doe,,234567
      Joe Doe,,345678
      Jog Doe,,578456
      Joh Doe,,378945
      Joi Doe,,456789
      Jon Doe,,987654
      Jor Doe,,754642
      Joy Doe,,124578
      4 Chia dữ liệu thô thành các hàng theo dòng phá vỡ.
    • Jo Doe,,465785
      Joa Doe,,123456
      Job Doe,,234567
      Joe Doe,,345678
      Jog Doe,,578456
      Joh Doe,,378945
      Joi Doe,,456789
      Jon Doe,,987654
      Jor Doe,,754642
      Joy Doe,,124578
      5 Bước thêm mỗi hàng vào các cột.
    • Jo Doe,,465785
      Joa Doe,,123456
      Job Doe,,234567
      Joe Doe,,345678
      Jog Doe,,578456
      Joh Doe,,378945
      Joi Doe,,456789
      Jon Doe,,987654
      Jor Doe,,754642
      Joy Doe,,124578
      6 và
      Jo Doe,,465785
      Joa Doe,,123456
      Job Doe,,234567
      Joe Doe,,345678
      Jog Doe,,578456
      Joh Doe,,378945
      Joi Doe,,456789
      Jon Doe,,987654
      Jor Doe,,754642
      Joy Doe,,124578
      7 Tự giải thích Thêm các hàng và cột vào bảng HTML.

Ví dụ 2) Ajax đọc tệp CSV

2a) HTML

2a-ajax-csv.html

<!-- (A) GENERATE HTML TABLE HERE -->
<table id="demoTable"></table>

Đối với ví dụ này, chúng tôi chỉ cần một bảng trống.

2b) JavaScript

2b-ajax-csv.js

// (A) GET HTML TABLE
let table = document.getElementById("demoTable");

// (B) AJAX FETCH CSV FILE
fetch("0-dummy.csv")
.then(res => res.text())
.then(csv => {
  // (B1) REMOVE OLD TABLE ROWS
  table.innerHTML = "";

  // (B2) GENERATE TABLE
  let rows = csv.split("\r\n");
  for (let row of rows) {
    let cols = row.match(/(?:\"([^\"]*(?:\"\"[^\"]*)*)\")|([^\",]+)/g);
    if (cols!=null) {
      let tr = table.insertRow();
      for (let col of cols) {
        let td = tr.insertCell();
        td.innerHTML = col.replace(/(^"|"$)/g, "");
      }
    }
  }
});

Không còn nữa, điều này là khá giống nhau.

  • Jo Doe,,465785
    Joa Doe,,123456
    Job Doe,,234567
    Joe Doe,,345678
    Jog Doe,,578456
    Joh Doe,,378945
    Joi Doe,,456789
    Jon Doe,,987654
    Jor Doe,,754642
    Joy Doe,,124578
    8 Nhận tệp CSV trên máy chủ.
  • Jo Doe,,465785
    Joa Doe,,123456
    Job Doe,,234567
    Joe Doe,,345678
    Jog Doe,,578456
    Joh Doe,,378945
    Joi Doe,,456789
    Jon Doe,,987654
    Jor Doe,,754642
    Joy Doe,,124578
    9 đọc CSV là văn bản đơn giản.
  • <!-- (A) PICK CSV FILE -->
    <input type="file" accept=".csv" id="demoPick">
     
    <!-- (B) GENERATE HTML TABLE HERE -->
    <table id="demoTable"></table>
    0 Khá giống như trên. Chia chuỗi xuống thành các hàng/cột và tạo bảng HTML.

Một lưu ý về hiệu suất

Như bạn có thể thấy, chúng tôi đang đọc toàn bộ tệp CSV thành một chuỗi. Điều này hoạt động, nhưng bạn sẽ gặp phải các vấn đề về hiệu suất và các vấn đề về bộ nhớ với các tệp CSV lớn. Tại thời điểm viết, không có cách nào để đọc từng dòng tệp CSV, ít nhất là trong JavaScript phía máy khách. Vì vậy, chỉ cần nhận thức được điều này, và làm việc với nó một cách cẩn thận.

P.S. Nếu bạn đang sử dụng trình chọn tệp, bạn có thể nhận được kích thước tệp đã chọn với

<!-- (A) PICK CSV FILE -->
<input type="file" accept=".csv" id="demoPick">
 
<!-- (B) GENERATE HTML TABLE HERE -->
<table id="demoTable"></table>
1.

Kiểm tra khả năng tương thích

  • Chức năng mũi tên - Caniuse
  • API đầu đọc tệp - Caniuse
  • Tìm nạp - Caniuse

Những ví dụ này sẽ hoạt động tốt trong hầu hết các trình duyệt hiện đại.

Liên kết & Tài liệu tham khảo

  • Cách phân tích CSV với JavaScript - lập trình viên Đức
  • Hiển thị CSV dưới dạng bảng HTML trong PHP - mã Boxx
  • JavaScript xuất mảng sang tệp CSV - mã Boxx
  • JavaScript Read & Parse Tệp CSV (vào đối tượng Array) - Mã Boxx

Hướng dẫn YouTube

Infographics cheat tờ

Hướng dẫn how do i display a csv file in html? - làm cách nào để hiển thị tệp csv trong html?
Bảng CSV đến HTML trong JavaScript (bấm để phóng to)

KẾT THÚC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc!

Làm cách nào để hiển thị dữ liệu CSV trong HTML?

Một phương pháp là sử dụng thẻ. Các thẻ pre sẽ bảo tồn định dạng văn bản được sử dụng trong tệp CSV của bạn. Đây là cách tiếp cận dễ dàng hơn và không yêu cầu chuyển đổi văn bản của tệp CSV.
tags
. Pre tags will preserve the text formatting used in your CSV file. This is the easier approach, and does not require text transformation of the CSV file.

Làm cách nào để hiển thị dữ liệu CSV trên một trang web?

Để hiển thị dữ liệu từ tệp CSV đến trình duyệt web, chúng tôi sẽ sử dụng hàm fgetcsv ().Giá trị phân tách dấu phẩy (CSV) là một tệp văn bản chứa nội dung dữ liệu.Nó là một tệp giá trị được phân tách bằng dấu phẩy với.Tiện ích mở rộng CSV, cho phép dữ liệu được lưu theo định dạng bảng.use fgetcsv() function. Comma Separated Value (CSV) is a text file containing data contents. It is a comma-separated value file with . csv extension, which allows data to be saved in a tabular format.

Làm cách nào để hiển thị tệp CSV trong bình HTML?

Trong bài viết này, chúng tôi sẽ chuyển đổi tệp CSV thành bảng HTML bằng cách sử dụng Python Pandas và Flask Framework ..
Tệp CSV mẫu:.
Bước 1: Tạo một môi trường.....
Bước 2: Kích hoạt môi trường ..
Bước 3: Cài đặt bình và gấu trúc ..
Bước 1: Tạo thư mục 'App.py' và viết mã được đưa ra dưới đây ..

Cách tốt nhất để xem tệp CSV là gì?

Mở tệp CSV đơn giản hơn bạn nghĩ.Trong hầu hết mọi trình soạn thảo văn bản hoặc chương trình bảng tính, chỉ cần chọn Tệp> Mở và chọn tệp CSV.Đối với hầu hết mọi người, tốt nhất là sử dụng chương trình bảng tính.Các chương trình bảng tính hiển thị dữ liệu theo cách dễ đọc và làm việc hơn so với trình chỉnh sửa văn bản.choose File > Open and select the CSV file. For most people, it is best to use a spreadsheet program. Spreadsheet programs display the data in a way that is easier to read and work with than a text editor.