Làm cách nào để đọc dữ liệu từ Excel trong powershell?
Một trong những công cụ phổ biến mà hầu hết các chuyên gia CNTT nên sử dụng ít nhất một lần trong công việc của họ là Microsoft Excel. Nhưng thật không may, nhiều chuyên gia CNTT sử dụng Excel như một kho lưu trữ cơ sở dữ liệu nhỏ dẫn đến hàng tấn dữ liệu Show
Bài viết này sẽ hướng dẫn chúng ta các kiến thức cơ bản về cách sử dụng PowerShell để tự động hóa việc đọc dữ liệu trong sổ làm việc Excel Đọc Giá trị Excel trong PowerShellChúng ta có thể lưu một sổ làm việc Excel vào một đối tượng PowerShell mà sau đó có thể đọc và thao tác bằng cách sử dụng lệnh COM Hãy lấy tệp Excel bên dưới làm ví dụ
Để tìm một giá trị ô, hãy mở sổ làm việc Excel để đưa nó vào bộ nhớ bằng cách sử dụng đoạn mã sau
Tiếp theo, chọn trang tính bên trong sổ làm việc. Đối số chấp nhận một giá trị số nguyên, trong đó
Sau khi gán trang tính cho một biến, chúng ta có thể xem chi tiết từng hàng, cột và ô. Có lẽ chúng ta cần tìm giá trị ô cho một ô cụ thể Sau đó, chúng ta cần tham chiếu thuộc tính ô cung cấp tọa độ hàng và cột
Tuy nhiên, nếu chúng ta không muốn tọa độ ô mà muốn địa chỉ tên của nó, chúng ta có thể sử dụng hàm 0 để hiển thị nóMã ví dụ
đầu ra Bây giờ với tất cả các lệnh này, chúng ta có thể tạo một đoạn mã mẫu sẽ xuất ra tất cả dữ liệu của một cột cụ thể bằng PowerShell Trước tiên, bạn có thể lưu bảng tính Excel dưới dạng tệp CSV, sau đó sử dụng Nhập-CSV để nhập và sau đó sử dụng nó để đặt thuộc tính AD Thứ hai, bạn có thể truy cập bảng tính theo chương trình. Cái này khó hơn RẤT NHIỀU. Cân nhắc sử dụng https. //github. com/dfinke/ImportExcel Mở một cửa sổ mới mô-đun Nó thực sự không khó hơn nhiều và OP có thể tìm thấy nhiều thứ hơn họ có thể làm. Đây là một mồi AdamTheAutomator Mở một cửa sổ mới. PowerShell và Excel Mở một cửa sổ mới Tôi nghĩ rằng "khó hơn RẤT NHIỀU" ít nhiều sẽ là về việc thiết lập các điều kiện tiên quyết của bạn để chạy nó, vì OP là mới đối với PowerShell. Chính sách thực thi có thể cần được cập nhật và mô-đun cần được cài đặt. Cũng có thể có sự cố với cài đặt nếu TLS không được đặt đúng cách, nơi nó có thể không truy cập được vào kho lưu trữ Mặc dù vậy, tôi không chắc chắn 100% về phần Chính sách thực thi vì nó liên quan đến việc cài đặt một mô-đun và có thể cần phải thay đổi từ mặc định bất kể có sử dụng Import-Excel hay không https. // tài liệu. Microsoft. com/en-us/powershell/module/microsoft. vỏ bọc quyền lực. bảo mật/thiết lập chính sách thực thi. Mở một cửa sổ mới Khoảng 1/2 trang sẽ liệt kê các giá trị bạn có thể sử dụng cho Chính sách thực thi và ý nghĩa của chúng #Get the current execution policy: Get-ExecutionPolicy #Set the execution policy (I leave mine at RemoteSigned) Set-ExecutionPolicy RemoteSigned Định cấu hình TLS https. // tài liệu. Microsoft. com/en-us/azure/databox-online/azure-stack-edge-gpu-configure-tls-settings Mở một cửa sổ mới Tôi chỉ gặp rắc rối với điều này trên một vài máy chủ của mình để có thể cài đặt một mô-đun. Có thể không cần thiết trong môi trường của bạn vì nó có thể đã được đặt đúng cách và có thể chỉ cần thực hiện nếu bạn không thể cài đặt mô-đun ImportExcel Xem qua một bảng tính với hơn 3000 hàng, tôi muốn hỏi liệu ai đó có thể giúp tôi trong quá trình thực hiện để PowerShell đọc dữ liệu cho tôi trong bảng tính và xuất nó cho tôi vào các biến của tôi không Tôi có 5 biến mà tôi cần ghi dữ liệu vào bảng tính của mình $GPO = [cột Tên GPO] $Group = [cột Tên nhóm] $Drive = [Cột Drive] $Nhận xét = [Cột Nhận xét] $Target = [cột Liên kết mục tiêu đơn vị tổ chức] Hy vọng rằng ai đó có thể giúp tôi và giúp tôi tiết kiệm rất nhiều thời gian khỏi phải nhập thông tin này theo cách thủ công PowerShell không đi kèm với hỗ trợ riêng cho. các tệp xlsx mặc dù. Đó là lý do tại sao trước đây người dùng sử dụng cách xuất dữ liệu excel sang csv, sau đó sử dụng 2để đọc dữ liệu đã xuất vào PowerShellCách giải quyết này tạo ra nhiều công việc hơn và có một số nhược điểm khác. Nhờ có mô-đun miễn phí ImportExcel, việc đi thêm tuyến đường qua csv không còn cần thiết nữa. Bây giờ bạn có thể trực tiếp đọc và viết. dữ liệu xlsx. Microsoft Office không bắt buộc Trong bài viết này, bạn sẽ học cách đọc và viết. xlsx và. xlsm chỉ trong một dòng mã. Ngoài ra, tôi cung cấp cho bạn 3, tự động chuyển đổi. tập tin xls để. xlsx và. các loại tệp xlsm. Điều đó quan trọng vì ImportExcel chỉ có thể xử lý các giao diện hiện đại. xlsx và. các loại tệp xlsm. càng già. tệp excel xls sử dụng định dạng nhị phân độc quyền mà chỉ excel mới biết cách đọc3 có thể rất hữu ích khi bạn cần chuyển đổi hàng loạt tệp excel cũ sang định dạng hiện đại Thêm hỗ trợ Excel vào PowerShellCảm ơn Doug Finke và mô-đun miễn phí tuyệt vời của anh ấy ImportExcel, đọc và viết. xlsx bây giờ rất nhanh - không cần cài đặt Office. Chỉ cần tải xuống và cài đặt mô-đun miễn phí này từ Thư viện PowerShell
Đọc và ghi tệp ExcelHai lệnh ghép ngắn quan trọng nhất từ mô-đun này là
Chơi với dữ liệu mẫuHãy chơi với các lệnh excel mới. Viết file excel đơn giản. chuyển dữ liệu sang 6 để tạo tệp excel mới
Để chơi với 5, trước tiên hãy truy xuất một số tệp dữ liệu mẫu trong thế giới thựcTải xuống dữ liệu mẫuTìm dữ liệu mẫu excel thật dễ dàng. chỉ cần google cho Tải xuống dữ liệu mẫu Excel để tìm ra các url. Chúng đến dưới dạng các tệp riêng lẻ và kho lưu trữ ZIP. Để mang lại trải nghiệm thú vị khi tải xuống, tôi đã tạo một loạt chức năng trợ giúp Để tải xuống các tệp, chỉ cần sử dụng 9 và 0
Khi bạn chạy mã này, nó sẽ tải xuống một loạt tệp mẫu excel
Đọc tệp ExcelĐể đọc dữ liệu trực tiếp từ tệp excel, hãy sử dụng 5. Ví dụ: để chỉ nhận dữ liệu tài chính cho tháng 12, hãy thử điều này
Để nhóm các quốc gia cho tháng 12, chỉ cần sử dụng các lệnh ghép ngắn đường ống PowerShell phổ biến
Đây là kết quả
Truy cập tệp XLSTin xấu là. . không thể truy cập tệp xls. Họ sử dụng định dạng nhị phân độc quyền mà chỉ excel mới có thể đọc được Tin tốt là. miễn là bạn đã cài đặt excel, việc chuyển đổi là chuyện nhỏ. tập tin xls để. tập tin xlsx. Nếu bạn thực sự vẫn đang sử dụng. xls, bạn nên xem xét việc chuyển đổi này mãi mãi. . xls đã thực sự lỗi thời và không còn được sử dụng nữa Chuyển đổi XLS sang XLSXỞ trên tôi đã tải xuống một loạt. xls không thể được xử lý bởi 5. đáng tiếcDưới đây là một chức năng 3 tự động chuyển đổi. tập tin xls để. xlsx và. Tuy nhiên, các tệp xlsm. Tập lệnh yêu cầu cài đặt Microsoft Office trên hộp của bạn vì chỉ excel mới biết cách mở định dạng nhị phân được sử dụng trong. tập tin xls 0
|