Trong bài đăng này, tôi sẽ hướng dẫn bạn cách xuất dữ liệu từ Power Automate sang tệp Excel. Đây có vẻ là một yêu cầu đơn giản, nhưng cho đến gần đây đã yêu cầu sử dụng áp dụng cho từng vòng lặp chậm và có khả năng sử dụng nhiều hành động API
Mục lục
- Tạo mẫu xuất Excel
- Chuyển đổi Mẫu thành Base64
- Tổng quan về dòng chảy
- Sử dụng Select Action để Định hình lại Dữ liệu xuất của bạn
- Xuất sang Excel Xong
Trình diễn video
Trong phần trình diễn này, tôi đang xuất 2.000 bản ghi từ danh sách SharePoint sang tài liệu Excel và quy trình chỉ mất 5 giây để thực thi
Tạo mẫu xuất Excel
Bước đầu tiên trong quy trình này là tạo một Excel có chứa bảng để chèn dữ liệu đã xuất của bạn vào. Định dạng các ô và thêm công thức theo yêu cầu của bạn rồi lưu tệp. Trong ví dụ của tôi, tập tin trông như thế này
Như bạn có thể thấy từ ảnh chụp màn hình, bảng có tên là InvoiceExport và có bốn trường. Các trường chứa giá trị đã được áp dụng định dạng số và có một số công thức để tính tổng Số tiền Hóa đơn và đếm số lượng bản ghi
Ghi lại những gì bạn đã gọi là bảng, bạn sẽ cần nó cho quy trình của mình
Chuyển đổi Mẫu thành Base64
Khi bạn hài lòng với mẫu Excel của mình. Đi đến Base 64 Guru và tải lên tệp mẫu của bạn. Base64 Guru sẽ tạo một đại diện base64 cho tệp của bạn, như thế này
Nhấp vào nút sao chép phía trên đại diện Base64 của tệp của bạn để sao chép tệp vào khay nhớ tạm của bạn
Tổng quan về dòng chảy
Để cung cấp cho bạn ý tưởng về cách xây dựng quy trình này đơn giản như thế nào, đây là ảnh chụp màn hình của toàn bộ nội dung, nó chỉ bao gồm 5 hành động
Sử dụng Select Action để Định hình lại Dữ liệu xuất của bạn
Trong ví dụ của tôi, nguồn dữ liệu là SharePoint nhưng mọi nguồn dữ liệu có thể truy cập bằng Power Automate đều sẽ hoạt động. Nó có thể là SQL Server, Dataverse, SharePoint hoặc thậm chí là một tệp Excel khác. Mục đích của hành động chọn là định hình lại dữ liệu xuống chỉ các cột mà bạn muốn xuất
Trong hành động chọn, hãy tạo một mảng giá trị thô khớp với thứ tự của các cột trong mẫu Excel của bạn. Chúng tôi không muốn đặt tên cho các cột
Mã cho hành động chọn của tôi trông như thế này
[ @{item[]?['Title']}, @{item[]?['Customer']}, @{item[]?['Invoice_x0020_Amount']}, @{item[]?['Date']} ]
Chọn Chế độ văn bản hành động
Hành động Chọn của bạn có thể trông khác với hành động của tôi, vì chế độ mặc định là chế độ Khóa/Giá trị
Bạn có thể chuyển sang chế độ Văn bản bằng cách nhấp vào đây
Tạo tệp Excel và điền vào dữ liệu của bạn
Bước tiếp theo là tạo tệp Excel của bạn và điền vào đó dữ liệu từ hành động Chọn của bạn
Trước tiên, hãy tạo một hành động Soạn thảo có tên là ExcelDoc và dán vào biểu diễn Base64 của tệp mẫu của bạn
Tiếp theo, sử dụng tác vụ Tạo tệp, đặt tên tệp theo yêu cầu của bạn và đối với nội dung tệp, hãy sử dụng biểu thức
base64ToBinary[outputs['ExcelDoc']]
Cuối cùng, tạo thêm một hành động mới bằng cách tìm kiếm HTTP và bạn sẽ thấy hành động này
Tại thời điểm viết bài này, đây là một hành động xem trước và nó không khả dụng trong tất cả Đối tượng thuê Office 365. Nếu bạn không thấy nó trong danh sách hành động của mình, chỉ cần sao chép mã bên dưới
{ "id": "c78ee521-4c62-4f34-84b1-8ef7-98516f0f", "brandColor": "#EB3C00", "connectionReferences": {}, "connectorDisplayName": "Office 365 Groups", "icon": "//connectoricons-prod.azureedge.net/releases/v1.0.1504/1.0.1504.2515/office365groups/icon.png", "isTrigger": false, "operationName": "Send_a_HTTP_request", "operationDefinition": { "type": "OpenApiConnection", "inputs": { "host": { "connectionName": "shared_office365groups", "operationId": "HttpRequest", "apiId": "/providers/Microsoft.PowerApps/apis/shared_office365groups" }, "parameters": { "Uri": "", "Method": "GET", "ContentType": "application/json" }, "authentication": { "type": "Raw", "value": "@json[decodeBase64[triggerOutputs[].headers['X-MS-APIM-Tokens']]]['$ConnectionKey']" } }, "runAfter": { "Create_file": [ "Succeeded" ] } } }
Và sau đó thêm một hành động mới vào luồng của bạn, đi tới Bảng tạm của tôi và nhấn CTRL-V. Sau đó, hành động mới sẽ xuất hiện trong khay nhớ tạm của bạn và bạn có thể thêm hành động đó vào quy trình của mình
Khi đã có hành động mới, hãy định cấu hình nó như sau
URI
//graph.microsoft.com/v1.0/me/drive/items/@{substring[outputs['Create_file']?['body/Id'], add[indexOf[outputs['Create_file']?['body/Id'], '.'],1]]}/workbook/tables/InvoiceExport/rows/add
Lưu ý rằng tôi đã đặt tên của bảng vào URL
/workbook/tables/InvoiceExport/rows/add
Bạn sẽ cần cập nhật điều này để phản ánh tên bảng của bạn
Phương pháp. BƯU KIỆN
Thân thể
{ "values": @{outputs['select']['body']} }
Xuất sang Excel Xong
Với hành động mới này, có thể thêm nhiều hàng vào một tệp Excel rất nhanh chóng và chỉ sử dụng một hành động API duy nhất để làm như vậy. Tôi đã thử nghiệm điều này với 2.000 hàng và mất 5 giây để hoàn thành
Khi quá trình xuất hoàn tất, bạn có thể thực hiện bất kỳ hành động nào bạn muốn với tệp. Ví dụ: để gửi email, bạn có thể thực hiện Nhận nội dung tệp và một hành động gửi email
Đây là một cách thực sự nhanh chóng và dễ dàng để xuất dữ liệu từ Power Automate sang Excel. Vui lòng cho tôi biết nếu trong các nhận xét nếu bạn gặp khó khăn hoặc thấy điều này hữu ích