Quá trình ba bước
Bạn cần ba bước:
1] Sử dụng AJAX để tìm nạp dữ liệu từ máy chủ của bạn và biến nó thành một mảng. Bạn có thể làm điều này ví dụ. với jQuery sau: Use Ajax to fetch data from your server and turn it into an array. You could do this eg. with the following jQuery :
$.ajax[{
type: "GET",
url: "data.csv",
success: CSVToHTMLTable
}];
2] Khi bạn đã nhận được tệp CSV của mình, bạn cần phải phân tích nó. Một cách dễ dàng và đáng tin cậy để làm điều đó, sẽ là sử dụng một thư viện như Papa Parse: Once you have get your CSV file, you need to parse it. An easy & reliable way to do it, would be to use a library like Papa Parse :
var data = Papa.parse[data].data;
3] Bạn cần xác định một hàm để biến đổi mảng của bạn thành bảng HTML. Đây là cách bạn có thể làm điều này với jQuery: You need to define a function to transform your array into an HTML table. Here's how you could do this with jQuery :
function arrayToTable[tableData] {
var table = $['
'];
$[tableData].each[function [i, rowData] {
var row = $[' '];
$[rowData].each[function [j, cellData] {
row.append[$[''+cellData+' ']];
}];
table.append[row];
}];
return table;
}
Đặt mọi thứ lại với nhau
Đây là cách bạn có thể đặt mọi thứ lại với nhau:
function arrayToTable[tableData] {
var table = $['
'];
$[tableData].each[function [i, rowData] {
var row = $[' '];
$[rowData].each[function [j, cellData] {
row.append[$[''+cellData+' ']];
}];
table.append[row];
}];
return table;
}
$.ajax[{
type: "GET",
url: "//localhost/test/data.csv",
success: function [data] {
$['body'].append[arrayToTable[Papa.parse[data].data]];
}
}];
Trong bài viết này, tôi sẽ giải thích với một ví dụ, cách nhập tệp CSV vào bảng HTML bằng API tệp JavaScript và HTML5.
Đầu tiên, tệp CSV, tức là tệp văn bản được phân tách bằng dấu phẩy, sẽ được đọc bằng API Filereader HTML5 dưới dạng chuỗi.
Sau đó, chuỗi sẽ được phân tích cú pháp vào các hàng và cột và sẽ được hiển thị trong bảng HTML.
Nhập tệp CSV vào bảng HTML bằng JavaScript
Đánh dấu HTML bao gồm một điều khiển tải FilePload [đầu vào tệp HTML] và nút HTML tức là tải lên.
Khi nút được nhấp, chức năng tải lên JavaScript được gọi.
Bên trong chức năng, đầu tiên một kiểm tra được thực hiện để xác minh xem tệp là CSV hoặc tệp văn bản hợp lệ. Sau đó, kiểm tra được thực hiện để đảm bảo liệu trình duyệt có hỗ trợ API tệp HTML5 hay không.
Khi các kiểm tra trên được xóa thì nội dung của tệp CSV được đọc dưới dạng chuỗi văn bản và sau đó chuỗi được chia thành các phần bằng dấu phẩy và các ký tự dòng mới và cuối cùng được hiển thị dưới dạng bảng HTML.
& nbsp; & nbsp; & nbsp; chức năng tải lên [] {function Upload[] {
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var fileupload = document.getEuityById ["fileupload"];var fileUpload = document.getElementById["fileUpload"];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var regex = /^[wasta-za-z0-9\s_\\.\ -: []+[.csv|.txt]$/;var regex = /^[[a-zA-Z0-9\s_\\.\-:]]+[.csv|.txt]$/;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; if [regex.test [fileupload.value.toleowercase []]] {if [regex.test[fileUpload.value.toLowerCase[]]] {
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; if [typeof [filereader]! = "không xác định"]if [typeof [FileReader] != "undefined"] {
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var reader = new filereader [];var reader = new FileReader[];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; reader.onload = function [e] {function [e] {
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var bảng = document.createelement ["bảng"];var table = document.createElement["table"];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var hàng = e.target.result.split ["\ n"];var rows = e.target.result.split["\n"];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; for [var i = 0; i 1] {if [cells.length > 1] {
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var row = bảng.Insertrow [-1];var row = table.insertRow[-1];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;for [var j = 0; j < cells.length; j++] {
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var cell = row.insertCell [-1];var cell = row.insertCell[-1];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cell.innerhtml = tế bào [j];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; var dvcsv = document.getEuityById ["dvcsv"];var dvCSV = document.getElementById["dvCSV"];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dvcsv.innerhtml = "";"";
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; DVCSV.AppendChild [Bảng];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; reader.readastext [fileupload.files [0]];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; } khác {else {
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;"This browser does not support HTML5."];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; } khác {else {
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; cảnh báo ["Vui lòng tải lên tệp CSV hợp lệ."];"Please upload a valid CSV file."];
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
& nbsp; & nbsp; & nbsp; }
Ảnh chụp màn hình
Nội dung của tệp CSV được đặt trên thư mục người dùng
Tệp CSV được hiển thị trong Trình duyệt dưới dạng bảng HTML
tính tương thích của trình duyệt web
Mã trên đã được kiểm tra trong các trình duyệt sau chỉ trong các phiên bản hỗ trợ HTML5.
* Tất cả các logo trình duyệt được hiển thị ở trên là thuộc tính của chủ sở hữu tương ứng của họ.
Tải xuống
Tải xuống API Word/PDF/Excel miễn phí