Chào các bạn trong diễn đàn,
Mình thường xuyên phải làm việc với dữ liệu trên Google Sheets và cần cập nhật chúng vào file Excel để xử lý sâu hơn. Trước đây mình hay dùng Power Query nhưng cảm thấy hơi rườm rà và đôi khi gặp lỗi không rõ nguyên nhân. Gần đây, mình tìm hiểu và áp dụng thành công cách tự động cập nhật dữ liệu từ Google Sheets vào Excel mà không cần đến Power Query, hoàn toàn dùng Apps Script. Mình muốn chia sẻ lại cho anh em nào đang gặp tình huống tương tự.
Cách này khá hay vì nó linh hoạt, tùy chỉnh được nhiều thứ và đặc biệt là tự động hoàn toàn.
Các bước thực hiện:
- Bước 1: Chuẩn bị Google Sheet
Đảm bảo dữ liệu của bạn trên Google Sheet đã được định dạng rõ ràng, mỗi cột có tiêu đề. - Bước 2: Viết Apps Script
Mở Google Sheet, vào Tools -> Script editor. Dán đoạn code sau (mình sẽ cung cấp code chi tiết nếu có nhu cầu):function exportDataToExcel() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Sheet1"); // Thay "Sheet1" bằng tên sheet của bạn var data = sheet.getDataRange().getValues(); // Code xử lý và gửi dữ liệu qua API hoặc lưu vào đâu đó // ... (Phần này cần tùy chỉnh theo nhu cầu cụ thể) } - Bước 3: Thiết lập Trigger (Trình kích hoạt)
Trong Script editor, bạn thiết lập để script chạy tự động theo thời gian (ví dụ: mỗi giờ, mỗi ngày) hoặc khi có sự kiện xảy ra. - Bước 4: Nhận dữ liệu trong Excel
Trong Excel, bạn có thể dùng VBA hoặc các phương pháp khác để gọi API (nếu Apps Script gửi qua API) hoặc đọc file trung gian (nếu Apps Script lưu file).
Cách này có thể hơi phức tạp lúc đầu với các bạn mới làm quen Apps Script, nhưng một khi đã thiết lập xong thì rất tiện lợi. Nó giúp bạn tiết kiệm thời gian cập nhật thủ công và đảm bảo dữ liệu luôn mới nhất.
Có anh em nào đã từng áp dụng cách này chưa? Chia sẻ thêm kinh nghiệm nhé!