Làm cách nào để xuất bảng HTML sang Excel php?

Chuyển đổi bảng HTML thành tệp excel là yêu cầu tiêu chuẩn của các trang web báo cáo. Sẽ đơn giản và dễ dàng hơn nếu việc chuyển đổi diễn ra ở phía máy khách

Có nhiều plugin phía máy khách và phía máy chủ để thực hiện xuất excel. Ví dụ PHPSpreadSheet cho phép ghi dữ liệu vào excel và xuất

Bài viết này sẽ đưa ra các tùy chọn và cách tiếp cận khác nhau để đạt được chuyển đổi bảng HTML thành excel với JavaScript

Ví dụ đơn giản này bao gồm một vài dòng JavaScript tạo mẫu để xuất excel

Nó sử dụng các bước sau để chuyển đổi báo cáo excel đã xuất của dữ liệu dạng bảng

  1. Xác định cấu trúc mẫu HTML với meta bắt buộc
  2. Bao gồm HTML bên trong của bảng vào mẫu
  3. Đánh dấu vị trí bằng cách chỉ định giao thức để tải xuống tệp qua trình duyệt
  4. Chuyển hướng qua JavaScript để trỏ đến vị trí có nội dung excel được mã hóa

ví dụ nhanh

Trình xử lý JavaScript để đặt mẫu xuất và đẩy dữ liệu bảng HTML

function exportToExcel() {
	var location = 'data:application/vnd.ms-excel;base64,';
	var excelTemplate = ' ' +
		' ' +
		' ' +
		' ' +
		' ' +
		document.getElementById("table-conatainer").innerHTML +
		' ' +
		''
	window.location.href = location + window.btoa(excelTemplate);
}

Xem bản trình diễn

Mã bảng HTML bên dưới hiển thị danh sách sản phẩm và nó ở trạng thái tĩnh. Tham khảo các ví dụ về jsPDF AutoTables để hiển thị bảng động bằng cách tải từng hàng

Nút bên dưới bảng này kích hoạt quy trình xuất sang excel trong sự kiện nhấp chuột. Hàm exportToExcel() xử lý sự kiện và tiến hành xuất phía máy khách

S.No Product Name Price Model 1q GIZMORE Multimedia Speaker with Remote Control, Black 2300 2020 2 Black Google Nest Mini 3400 2021

Làm cách nào để xuất bảng HTML sang Excel php?

Hãy cho chúng tôi xem thêm các tùy chọn có sẵn để chuyển đổi dữ liệu bảng HTML thành tệp excel

Lựa chọn 2. Xuất dưới dạng CSV để xem trong excel

Ví dụ này là để phân tích nội dung bảng HTML qua JavaScript. Nó làm theo các bước dưới đây để xuất bảng HTML thành excel dưới dạng CSV

  1. Truy cập đối tượng phần tử bảng HTML
  2. Chuyển đổi đối tượng thành một mảng dữ liệu hàng
  3. Lặp lại mảng dữ liệu hàng để chuẩn bị các giá trị bản ghi được phân tách bằng dấu phẩy
  4. Đặt giao thức và loại nội dung để xuất dữ liệu CSV được chuẩn bị từ bảng

Hàm JavaScript bên dưới thực hiện các bước trên để xuất dữ liệu bảng ở phía máy khách

function exportCSVExcel() {
	var tableElement = document.getElementById("table-product-list");
	var sourceData = "data:text/csv;charset=utf-8,";
	var i = 0;
	while (row = tableElement.rows[i]) {
		sourceData += ([
			row.cells[0].innerText,
			row.cells[1].innerText,
			row.cells[2].innerText,
			row.cells[3].innerText
		]).join(",") + "\r\n";
		i++;
	}
	window.location.href = encodeURI(sourceData);
}

Tùy chọn 3 – Xuất bảng HTML sang excel bằng cách sử dụng plugin dựa trên jQuery

Plugin jQuery table2excel là một giải pháp phổ biến để chuyển HTML sang xuất excel

Nó có nhiều tính năng với các chức năng cốt lõi xuất khẩu. Những người đang có,

  1. Loại trừ/bao gồm các thẻ HTML như đầu vào, liên kết hoặc hình ảnh trong bảng nguồn HTML
  2. Loại trừ một số thành phần bảng có tham chiếu đến bộ chọn lớp hoặc id của phần tử cụ thể đó
  3. Cung cấp các thuộc tính để đặt tên tệp mà dữ liệu đã xuất sẽ được tải xuống trình duyệt

Bao gồm tệp plugin jQuery và table2excel trong phần như bên dưới

Có các phương pháp thay thế để cài đặt plugin table2excel. Trang Github của nó cung cấp tài liệu về phương pháp cài đặt và sử dụng



Sau đó, bắt đầu lớp plugin bằng cách trỏ đến phần tử bảng HTML nguồn

JavaScript dưới đây thực hiện khởi tạo. Trong quá trình khởi tạo, nó đặt mảng tùy chọn để chỉ định tên tệp, phần mở rộng và các cờ áp dụng

function exportCSVExcel() {
	$('#table-product-list').table2excel({
		exclude: ".no-export",
		filename: "download.xls",
		fileext: ".xls",
		exclude_links: true,
		exclude_inputs: true
	});
}

Ví dụ này sử dụng cùng một nguồn bảng HTML cho thao tác xuất. Sự khác biệt là nội dung bảng nguồn đánh dấu một số hàng có lớp không xuất

Lớp này được định cấu hình trong tập lệnh trên với thuộc tính loại trừ của lớp plugin này

Phần kết luận

Vì vậy, chúng ta đã thấy ba cách triển khai đơn giản để thêm bảng HTML vào tính năng excel. Mặc dù tính năng xuất rất quan trọng nhưng chúng ta phải có một thành phần cung cấp kết quả liền mạch

Tôi hy vọng, giải pháp trên có thể là cơ sở tốt để tạo các thành phần như vậy. Nó có thể thích ứng để chắc chắn cập nhật nhiều tính năng hơn để có một công cụ tạo báo cáo excel hiệu quả

Làm cách nào để chuyển đổi bảng HTML sang Excel trong php?

php $file="demo. xls"; $test="
Cell 1Cell 2
"; header("Content-type: application/vnd. ms-excel"); header("Content-Disposition: attachment; filename=$file"); echo $test; ?>

Làm cách nào để chuyển đổi bảng HTML sang CSV trong php?

<\/bảng(. >)/is',$table,$b); . [^>]*>)(. *?) <\/tr(. >)/is',$table,$b); . [^>]*>)(

Làm cách nào để lưu dữ liệu biểu mẫu HTML trong Excel bằng php?

Tạo mã tập lệnh PHP để thu thập thông tin và chuyển đổi thành tệp CSV(Excel) .
Đầu tiên thiết lập các trường biểu mẫu trên nút bằng cách sử dụng điều kiện if. .
Đặt trường cho tệp excel (định dạng CSV)
Chức năng tiêu đề người dùng và xác định loại nội dung
Cuối cùng điền vào mẫu và bấm vào nút