Bỏ qua nội dung chính
Trình duyệt này không còn được hỗ trợ.
Nâng cấp lên Microsoft Edge để tận dụng các tính năng mới nhất, cập nhật bảo mật và hỗ trợ kỹ thuật.
Chạy truy vấn SQL trên các tệp Excel
- Bài báo
- 19/10/2022
- 4 phút để đọc
Trong bài viết này
Mặc dù các hành động Excel có thể xử lý hầu hết các kịch bản tự động hóa Excel, các truy vấn SQL có thể truy xuất và điều khiển một lượng đáng kể dữ liệu Excel hiệu quả hơn.
Làm cách nào để tự động hóa truy vấn SQL trong Excel?
Đó là một quá trình 4 bước:.Open SQL connection action and the Execute SQL statements action.
Kết nối Excel với nguồn dữ liệu bên ngoài: Cơ sở dữ liệu SQL của bạn.
Nhập dữ liệu SQL của bạn vào Excel ..
Tạo một bảng Pivot với nguồn dữ liệu SQL bên ngoài ..%Excel_File_Path% and initialize it with the Excel file path. Optionally, you can skip this step and use the hardcoded path of the file later in the flow.
Tự động hóa cập nhật dữ liệu SQL của bạn trong Excel với chức năng GetPivotData ..Open SQL connection action and populate the following connection string in its properties.
Chạy truy vấn SQL trên các tệp Excel
Bài báo
19/10/2022Open SQL connection action can't connect to password-protected Excel files, so you have to remove the protection.
4 phút để đọcLaunch Excel action. The file is password-protected, so populate the appropriate password in the Password field.
Trong bài viết nàyFile > Info > Protect Workbook > Encrypt with Password. You can find more information about UI automation and how to use the respective actions in Automate desktop flows.
Giả sử một luồng phải chỉ sửa đổi các đăng ký Excel có chứa một giá trị cụ thể. Để đạt được chức năng này mà không có truy vấn SQL, bạn cần các vòng lặp, điều kiện và nhiều hành động Excel.Encrypt with Password, populate an empty string in the popup dialog using the Populate text field in windows action. To populate an empty string, use the following expression: %""%.
Ngược lại, bạn có thể thực hiện chức năng này với các truy vấn SQL chỉ bằng hai hành động, hành động kết nối SQL mở và hành động câu lệnh SQL thực thi.OK button in the dialog and apply the changes, deploy the Press button in window action.
Mở kết nối SQL đến tệp ExcelClose Excel action to save the non-protected workbook as a new Excel file.
Trước khi chạy truy vấn SQL, bạn phải mở kết nối với tệp Excel bạn muốn truy cập.
Để thiết lập kết nối, hãy tạo một biến mới có tên % excel_file_path % và khởi tạo nó bằng đường dẫn tệp Excel. Tùy chọn, bạn có thể bỏ qua bước này và sử dụng đường dẫn được mã hóa cứng của tệp sau trong luồng.Delete file[s] action to delete the non-protected copy of the Excel file.
Đọc nội dung của bảng tính Excel
Mặc dù hành động đọc từ Excel có thể đọc nội dung của bảng tính Excel, các vòng lặp có thể mất một thời gian đáng kể để lặp lại thông qua dữ liệu được truy xuất.Read from Excel worksheet action can read the contents of an Excel worksheet, loops can take a significant time to iterate through the retrieved data.
Một cách hiệu quả hơn để truy xuất các giá trị cụ thể từ bảng tính là coi các tệp Excel là cơ sở dữ liệu và thực hiện các truy vấn SQL trên chúng. Cách tiếp cận này nhanh hơn và tăng hiệu suất của dòng chảy.
Để truy xuất tất cả các nội dung của bảng tính, bạn có thể sử dụng truy vấn SQL sau trong hành động SQL FALK thực thi.Execute SQL statements action.
SELECT * FROM [SHEET$]
Ghi chú
Để áp dụng truy vấn SQL này trong các luồng của bạn, hãy thay thế trình giữ chỗ tấm bằng tên của bảng tính bạn muốn truy cập.SHEET placeholder with the name of the spreadsheet you want to access.
Để truy xuất các hàng có chứa một giá trị cụ thể trong một cột cụ thể, hãy sử dụng truy vấn SQL sau:
SELECT * FROM [SHEET$] WHERE [COLUMN NAME] = 'VALUE'
Ghi chú
Để áp dụng truy vấn SQL này trong các luồng của bạn, hãy thay thế trình giữ chỗ tấm bằng tên của bảng tính bạn muốn truy cập.
- Để truy xuất các hàng có chứa một giá trị cụ thể trong một cột cụ thể, hãy sử dụng truy vấn SQL sau: with the name of the spreadsheet you want to access
- Để áp dụng truy vấn SQL này trong các luồng của bạn, hãy thay thế: with the column that contains the value you want to find. The columns in the first row of the Excel worksheet are identified as the table's column names.
- Trang tính có tên của bảng tính bạn muốn truy cập with the value you want to find
Tên cột với cột chứa giá trị bạn muốn tìm. Các cột trong hàng đầu tiên của bảng tính Excel được xác định là tên cột của bảng.
Giá trị với giá trị bạn muốn tìmDELETE SQL query, you can use the UPDATE query to set all the cells of a specific row to null.
Xóa dữ liệu khỏi hàng Excel
UPDATE [SHEET$] SET [COLUMN1]=NULL, [COLUMN2]=NULL WHERE [COLUMN1]='VALUE'
Mặc dù Excel không hỗ trợ truy vấn SQL xóa, bạn có thể sử dụng truy vấn cập nhật để đặt tất cả các ô của một hàng cụ thể thành NULL.SHEET placeholder with the name of the spreadsheet you want to access.
Chính xác hơn, bạn có thể sử dụng truy vấn SQL sau:COLUMN1 and COLUMN2 placeholders represent the names of all the existed columns. In this example, the columns are two, but in a real scenario, the number of the columns may be different. The columns in the first row of the Excel worksheet are identified as the table's column names.
Trong khi phát triển luồng của bạn, bạn phải thay thế trình giữ chỗ tấm bằng tên của bảng tính bạn muốn truy cập.[COLUMN1]='VALUE' part of the query defines the row you want to update. In your flow, use the column name and the value based on which combination describes the rows uniquely.
Các giữ chỗ Cột1 và cột2 đại diện cho tên của tất cả các cột tồn tại. Trong ví dụ này, các cột là hai, nhưng trong một kịch bản thực, số lượng các cột có thể khác nhau. Các cột trong hàng đầu tiên của bảng tính Excel được xác định là tên cột của bảng.
Phần [Cột1] = 'Giá trị' của Truy vấn xác định hàng bạn muốn cập nhật. Trong luồng của bạn, sử dụng tên cột và giá trị dựa trên kết hợp đó mô tả các hàng một cách duy nhất.
Lấy dữ liệu Excel ngoại trừ một hàng cụ thể
Trong một số kịch bản, bạn có thể cần truy xuất tất cả các nội dung của bảng tính Excel ngoại trừ một hàng cụ thể.UPDATE SQL query, as presented in Delete data from an Excel row:
UPDATE [SHEET$] SET [COLUMN1]=NULL, [COLUMN2]=NULL WHERE [COLUMN1]='VALUE'
Một cách thuận tiện để đạt được kết quả này là đặt các giá trị của hàng không mong muốn thành null và sau đó lấy tất cả các giá trị ngoại trừ các giá trị null.
SELECT * FROM [SHEET$] WHERE [COLUMN1] IS NOT NULL OR [COLUMN2] IS NOT NULL
Ghi chú
Để áp dụng truy vấn SQL này trong các luồng của bạn, hãy thay thế trình giữ chỗ tấm bằng tên của bảng tính bạn muốn truy cập.
Để truy xuất các hàng có chứa một giá trị cụ thể trong một cột cụ thể, hãy sử dụng truy vấn SQL sau:
Để áp dụng truy vấn SQL này trong các luồng của bạn, hãy thay thế: