Hướng dẫn chi tiết về việc xuất dữ liệu và tùy chỉnh trong AppSheet
Tổng quan
Chức năng: Xuất dữ liệu sang Excel, PDF, in, Google Sheets và cung cấp nhiều tùy chỉnh khác.
Phạm vi sử dụng: AppSheet hoặc các công cụ no-code tương tự có chức năng tạo hành động để chuyển đến một trang web.
Cách sử dụng: Để sử dụng tiện ích mở rộng này, hãy cấu hình đầu ra HTML của bạn trong cài đặt hành động.
Sử dụng cấu trúc sau cho Hành động "Đi tới Trang web":
"https://example.com?html=" & ENCODEURL(SUBSTITUTE(
"
", "%", "percent"))
Các thành phần có thể thay đổi:
https://example.com
: Bạn có thể sử dụng bất kỳ URL nào, tốt nhất là URL không hoạt động để dễ xử lý hơn.<Html here!>
: Nội dung HTML của bạn. Sử dụng công cụ trò chuyện AI để tạo HTML nhanh chóng.
Các thành phần cố định:
ENCODEURL(SUBSTITUTE(
?html=
, "%", "percent"))
Lưu ý:
- Với
<html>
: Để mẫu HTML hoạt động trên AppSheet, đảm bảo nó không chứa dấu ngoặc kép:"
. Nếu có, hãy thay thế tất cả dấu ngoặc kép:"
→ bằng dấu ngoặc đơn:'
.
❌<p class="example"> Đây là một ví dụ về đoạn HTML sử dụng "dấu ngoặc kép" KHÔNG hoạt động trên AppSheet</p>
✅<p class="example"> Đây là một ví dụ về đoạn HTML sử dụng 'dấu ngoặc đơn' hoạt động trên AppSheet</p>
Dưới đây là ví dụ chính xác để HTML hoạt động, chỉ sử dụng dấu ngoặc đơn (nếu có) trong nội dung HTML gốc:
Để thêm dữ liệu AppSheet vào cấu trúc HTML, hãy sử dụng định dạng: "&[data_appsheet]&"
Ví dụ về một hành động: "Đi tới Trang web" với URL đích sau:
Xem ví dụ mẫu: [Sample AppSheet](Liên kết đến ví dụ mẫu AppSheet)
Bốn hành động của ví dụ:
- Hành động 1: Khi chèn biểu mẫu HTML, hãy sử dụng công cụ AI và thay thế dấu ngoặc kép bằng dấu ngoặc đơn để tránh thông báo lỗi cú pháp (AppSheet sẽ báo lỗi này), như đã giải thích ở trên.
- Hành động 2: Sử dụng hàm
INDEX()
để truy xuất dữ liệu trong AppSheet, nhưng nó chỉ phù hợp với các bảng dữ liệu nhỏ (từ 1-2000 hàng). Trong AppSheet, hàmINDEX()
được sử dụng để truy xuất giá trị tại một vị trí cụ thể trong danh sách hoặc bảng. Tuy nhiên, nếu bạn có một bảng dữ liệu rất lớn (ví dụ: hàng triệu hàng), việc sử dụngINDEX()
để truy xuất từng hàng có thể không hiệu quả. Bạn sẽ cần chỉ định từng chỉ mục (số hàng) trong hàmINDEX()
, nghĩa là bạn phải nhập từng hàng riêng lẻ. Điều này có thể rất tốn thời gian và không tối ưu cho các tập dữ liệu lớn và động.
INDEX(Orders[OrderAmount], 5)
Ở đây, hàm INDEX()
sẽ trả về giá trị từ hàng thứ 5 trong cột OrderAmount của bảng Orders.
AppSheet không có vòng lặp trực tiếp, vì vậy nếu bạn đang sử dụng INDEX()
để truy xuất dữ liệu từ bảng, bạn sẽ cần nhập thủ công nhiều số hàng hơn số lượng hàng thực tế trong bảng dữ liệu của bạn để xử lý dữ liệu. Tiện ích bổ sung có thể giúp loại bỏ bất kỳ hàng trống nào trong bảng nếu có. Hy vọng rằng AppSheet cuối cùng sẽ bao gồm tính năng vòng lặp trực tiếp để giải quyết vấn đề này.
- Hành động 3 và 4: Tránh sử dụng hàm
INDEX()
để có hiệu suất tốt hơn. Khi tránh sử dụngINDEX()
; giảm độ phức tạp của mã khi bảng tham chiếu có quá nhiều hàng.
Giải thích về Xử lý Dấu phẩy và Xử lý Dữ liệu trong Bảng khi tránh sử dụng INDEX():
Khi nhập dữ liệu vào bảng, nếu nội dung của bất kỳ cột nào chứa dấu phẩy thông thường (U+002C), thường được sử dụng trong câu, danh sách hoặc để phân tách các phần tử trong câu, nó có thể gây ra sự cố. Dấu phẩy U+002C thông thường là dấu phẩy bạn sử dụng khi nhập văn bản qua bàn phím trong trình xử lý văn bản, email hoặc trên các nền tảng truyền thông xã hội.
Ví dụ:
Tôi thích đọc, viết và lập trình.
Cuốn sách này thú vị, bổ ích và mang tính giáo dục.
Vấn đề với việc sử dụng Dấu phẩy thông thường (U+002C)
Nếu bạn sử dụng dấu phẩy thông thường (U+002C) trong dữ liệu của các cột bảng, nó có thể dẫn đến sự cố khi cố gắng phân tách hoặc xử lý dữ liệu một cách chính xác. Nếu không được xử lý chính xác, nó có thể dẫn đến dữ liệu không chính xác hoặc bị hiểu sai trong bảng, khiến việc phân tích cú pháp hoặc phân tích chính xác trở nên khó khăn.
Giải pháp: Tạo Cột ảo để Chuyển đổi Dấu phẩy
Để tránh sự cố này, bạn có thể tạo một cột ảo để tự động chuyển đổi dấu phẩy thông thường (U+002C) thành một ký tự khác, chẳng hạn như dấu chấm phẩy (;), Dấu phẩy nhỏ (U+FE50: ﹐), Dấu phẩy toàn chiều (U+FF0C: ,), Dấu phẩy tiếng Nhật (U+3001: 、) hoặc bất kỳ ký tự tương tự nào khác mà bạn thích.
Trong hướng dẫn này, chúng tôi sử dụng Dấu phẩy toàn chiều (U+FF0C: ,) làm ví dụ.
Bằng cách đó, bạn có thể tránh nhầm lẫn khi xử lý hoặc phân tích dữ liệu. Dấu phẩy toàn chiều (U+FF0C: ,) đặc biệt hữu ích vì nó trông giống như dấu phẩy thông thường nhưng đủ khác biệt để không gây ra xung đột trong việc phân tích cú pháp dữ liệu.
Ví dụ: Nếu cột "Chi tiết" trong bảng của bạn chứa dấu phẩy thông thường (U+002C), bạn có thể chuyển đổi chúng thành Dấu phẩy toàn chiều (U+FF0C: ,) bằng cách sử dụng cột ảo.
Điều này đảm bảo rằng dữ liệu bảng của bạn là chính xác và có thể được phân tích đúng cách mà không gặp sự cố do dấu phẩy thông thường gây ra.
Xuất sang Excel, DOCX, PDF, In từ AppSheet
Các chức năng xuất file DOCX, Excel, PDF và in file đã được tích hợp sẵn.
Xuất sang Google Sheets từ AppSheet
Bước 1: Tạo và Triển khai Ứng dụng Web từ Google Sheets
1.1. Mở Google Sheet của bạn. Đảm bảo Google Sheet của bạn chứa dữ liệu và các hàm cần thiết cho Ứng dụng Web của bạn.
1.2. Mở Trình chỉnh sửa tập lệnh. Trong Google Sheets của bạn, hãy chuyển đến menu Tiện ích mở rộng và chọn Apps Script.
1.3. Truy cập Dự án Apps Script. Bạn cũng có thể truy cập trực tiếp dự án Apps Script của mình bằng cách nhấp vào liên kết sau: [Open the Apps Script Project](Liên kết đến dự án Apps Script)
Hoặc sao chép đoạn mã sau:
function doPost(e) {
var content = JSON.parse(e.postData.contents);
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//Textcontent
var textContentSheet = spreadsheet.getSheetByName('TextContent Sheet');
if (!textContentSheet) {
textContentSheet = spreadsheet.insertSheet('TextContent Sheet');
} else {
textContentSheet.clear();
}
//Tabledata
var tableDataSheet = spreadsheet.getSheetByName('TableData Sheet');
if (!tableDataSheet) {
tableDataSheet = spreadsheet.insertSheet('TableData Sheet');
} else {
tableDataSheet.clear();
}
//Get textcontent
if (content.textContent && content.textContent.length > 0) {
for (var i = 0; i < content.textContent.length; i++) {
textContentSheet.getRange(i + 1, 1).setValue(content.textContent[i]);
}
}
//Get tabledata
if (content.tableData && content.tableData.length > 0) {
var tableRows = content.tableData;
var range = tableDataSheet.getRange(1, 1, tableRows.length, tableRows[0].length);
range.setValues(tableRows);
// left-align the content, you can change it to "Center", "right" if needed
range.setHorizontalAlignment("left");
}
}
1.4. Triển khai Ứng dụng Web. Khi tập lệnh của bạn đã sẵn sàng, hãy nhấp vào Triển khai ở góc trên cùng bên phải của trình chỉnh sửa Apps Script.
Chọn Triển khai thử nghiệm > Triển khai dưới dạng ứng dụng web.
Trong hộp thoại Triển khai dưới dạng Ứng dụng Web:
Đặt Thực thi ứng dụng dưới dạng: Tôi (chủ sở hữu tập lệnh).
Chọn Ai có quyền truy cập: Bất kỳ ai (hoặc chọn cấp độ truy cập thích hợp).
Nhấp vào Triển khai.
Sau khi được triển khai, bạn sẽ thấy URL Ứng dụng Web. (Bạn có thể cần tham khảo cách triển khai Ứng dụng Web, hãy xem Youtube này)
Bước 2: Sao chép URL Ứng dụng Web
Sau khi triển khai, hộp thoại sẽ hiển thị URL Ứng dụng Web. Sao chép URL bằng cách chọn nó và nhấn Ctrl + C (hoặc Cmd + C trên Mac).
Bước 3: Dán URL Ứng dụng Web vào Tiện ích bổ sung AppSheetPrint
3.1. Quay lại Google Sheet của bạn. Điều hướng trở lại Google Sheet của bạn, nơi bạn muốn sử dụng Tiện ích bổ sung AppSheetPrint.
3.2. Mở Tiện ích bổ sung AppSheetPrint. Chuyển đến menu Tiện ích bổ sung, chọn AppSheetPrint và mở menu tùy chọn/cài đặt.
3.3. Dán URL Ứng dụng Web. Tìm phần có nhãn "Nhập URL Ứng dụng Web" trong cài đặt AppSheetPrint. Dán URL Ứng dụng Web mà bạn đã sao chép trước đó vào hộp văn bản có nhãn Nhập URL Ứng dụng Web.
Xong!
Bây giờ, Ứng dụng Web của bạn đã được kết nối với AppSheetPrint và bạn có thể sử dụng nó để in hoặc quản lý dữ liệu từ Google Sheet của mình.
Mẹo bổ sung:
- Kiểm tra Ứng dụng Web: Trước khi dán URL vào AppSheetPrint, hãy mở URL trong tab trình duyệt mới để kiểm tra xem Ứng dụng Web có hoạt động chính xác hay không.
- Quyền: Bạn có thể cần ủy quyền cho Apps Script chạy dưới dạng Ứng dụng Web. Đảm bảo xem xét và phê duyệt các quyền cần thiết.
- Tùy chỉnh Tập lệnh: Sửa đổi Apps Script dựa trên các yêu cầu cụ thể của bạn cho Ứng dụng Web.
Liên kết nhanh
- Tệp Apps Script (hãy nhớ ủy quyền cho dự án tập lệnh ứng dụng trong tab tự động hóa nếu bạn sao chép mẫu này)
- Báo cáo và Báo giá Trang tính
Liên kết nhanh
- Tiện ích bổ sung: Cửa hàng Chrome trực tuyến
Lưu ý cho In tự động
Sau khi kích hoạt hành động Appsheet hoặc mở nội dung hành động (Tải liên kết), tiện ích mở rộng sẽ tự động kích hoạt chức năng In. Khi sử dụng tính năng này, xin lưu ý:
Khi chức năng In tự động được kích hoạt:
- Tiện ích mở rộng có thể ngừng hoạt động hoặc báo lỗi nếu đã có cửa sổ In tự động đang mở.
- Giải pháp: Bạn cần đóng cửa sổ In hoặc xác nhận in để đóng cửa sổ In (bạn cũng có thể cân nhắc tắt chức năng In tự động để quay lại trạng thái không tự động).
- Nếu đoạn mã HTML bạn thiết lập có chứa thẻ
<script></script>
để nhúng hoặc liên kết với mã JavaScript hoặc liên kết API, điều này có thể khiến chức năng In tự động ngừng hoạt động. Lý do là việc tải thẻ<script>
mất thời gian, trong khi tiện ích mở rộng phản ứng quá nhanh để mở cửa sổ In.- Giải pháp: Xóa thẻ
<script></script>
hoặc liên kết API khỏi đoạn mã HTML của bạn.
- Giải pháp: Xóa thẻ
Discussion