PowerShell Excel thêm trang tính

Microsoft Excel là một trong những công cụ phổ biến mà hầu hết chúng ta không thể thoát khỏi ngay cả khi chúng ta đã cố gắng. Nhiều chuyên gia CNTT sử dụng Excel như một cơ sở dữ liệu nhỏ lưu trữ hàng tấn dữ liệu trong các quy trình tự động hóa khác nhau. Kịch bản tốt nhất cho tự động hóa và Excel là gì?

Bảng tính Excel luôn nổi tiếng là khó viết kịch bản và tự động hóa. Không giống như đối tác tệp CSV ít tính năng hơn [và đơn giản hơn], sổ làm việc Excel không chỉ là tệp văn bản đơn giản. Sổ làm việc Excel yêu cầu PowerShell để thao tác các đối tượng Mô hình Đối tượng Thành phần [COM] phức tạp, do đó bạn phải cài đặt Excel. không còn nữa

Rất may, một thành viên cộng đồng PowerShell sắc sảo, Doug Finke, đã tạo một mô-đun PowerShell có tên là ImportExcel cho những người bình thường như chúng ta. Mô-đun ImportExcel tóm tắt tất cả sự phức tạp đó. Nó giúp bạn có thể dễ dàng quản lý sổ làm việc Excel và chuyển sang tập lệnh PowerShell

Trong bài viết này, hãy khám phá những gì bạn có thể làm với PowerShell và Excel bằng cách sử dụng mô-đun ImportExcel và một số trường hợp sử dụng phổ biến

Mục lục

  • điều kiện tiên quyết
  • Cài đặt mô-đun ImportExcel
  • Sử dụng PowerShell và Excel để xuất sang một trang tính
  • Sử dụng PowerShell để nhập vào Excel
  • Sử dụng PowerShell để nhận [và đặt] giá trị ô Excel
  • Chuyển đổi trang tính thành tệp CSV bằng PowerShell và Excel
    • Chuyển đổi nhiều trang tính
  • Phần kết luận

điều kiện tiên quyết

Khi chạy mô-đun ImportExcel trên hệ thống Windows, không cần phụ thuộc riêng. Tuy nhiên, nếu bạn đang làm việc trên macOS, bạn sẽ cần cài đặt gói mono-libgdiplus bằng cách sử dụng

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
1. Tất cả các ví dụ trong bài viết này sẽ được xây dựng bằng macOS nhưng tất cả các ví dụ sẽ hoạt động trên nhiều nền tảng

Nếu bạn đang sử dụng macOS, hãy nhớ khởi động lại phiên PowerShell trước khi tiếp tục

Cài đặt mô-đun ImportExcel

Bắt đầu bằng cách tải xuống và cài đặt mô-đun qua Thư viện PowerShell bằng cách chạy

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
2. Sau một lúc, bạn sẽ sẵn sàng để đi

Sử dụng PowerShell và Excel để xuất sang một trang tính

Bạn có thể quen thuộc với các lệnh ghép ngắn PowerShell tiêu chuẩn

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
3 và
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
4. Các lệnh ghép ngắn này cho phép bạn đọc và xuất các đối tượng PowerShell sang tệp CSV. Thật không may, không có lệnh ghép ngắn
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
5 và
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
6. Nhưng bằng cách sử dụng mô-đun ImportExcel, bạn có thể xây dựng chức năng của riêng mình

Có liên quan. Quản lý tệp CSV trong PowerShell bằng Import-Csv

Một trong những yêu cầu phổ biến nhất mà quản trị viên hệ thống có là xuất các đối tượng PowerShell sang trang tính Excel. Sử dụng lệnh ghép ngắn

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
5 trong mô-đun ImportExcel, bạn có thể dễ dàng thực hiện điều đó

Ví dụ: có lẽ bạn cần tìm một số quy trình đang chạy trên máy tính cục bộ của mình và đưa chúng vào sổ làm việc Excel

Lệnh ghép ngắn

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
5 chấp nhận bất kỳ đối tượng nào chính xác như cách mà
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
9 thực hiện. Bạn có thể đưa bất kỳ loại đối tượng nào vào lệnh ghép ngắn này

Để tìm các quy trình đang chạy trên hệ thống với PowerShell, hãy sử dụng lệnh ghép ngắn

Import-Excel -Path './processes.xlsx'
0 trả về từng quy trình đang chạy và nhiều thông tin khác nhau về từng quy trình. Để xuất thông tin đó sang Excel, hãy sử dụng lệnh ghép ngắn
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
5 cung cấp đường dẫn tệp tới sổ làm việc Excel sẽ được tạo. Bạn có thể xem ví dụ về lệnh và ảnh chụp màn hình của tệp Excel được tạo bên dưới

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
1

Bảng tính được tạo bằng PowerShell và Excel

chúc mừng. Bây giờ bạn đã xuất tất cả thông tin giống như

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
3, nhưng không giống như
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
3, chúng tôi có thể làm cho dữ liệu này đẹp hơn rất nhiều. Hãy đảm bảo rằng tên trang tính được gọi là Quy trình, dữ liệu nằm trong bảng và các hàng có kích thước tự động

Bằng cách sử dụng tham số chuyển đổi

Import-Excel -Path './processes.xlsx'
4 để tự động định cỡ tất cả các hàng,
Import-Excel -Path './processes.xlsx'
5 để chỉ định tên của bảng sẽ bao gồm tất cả dữ liệu và tên tham số
Import-Excel -Path './processes.xlsx'
6 của Quy trình, bạn có thể thấy trong ảnh chụp màn hình bên dưới những gì có thể được tạo

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses

Kết quả thông số chuyển đổi kích thước tự động

Lệnh ghép ngắn

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
5 có rất nhiều tham số mà bạn có thể sử dụng để tạo các loại sổ làm việc Excel. Để biết tóm tắt đầy đủ về mọi thứ mà
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
5 có thể làm, hãy chạy
Import-Excel -Path './processes.xlsx'
9

Sử dụng PowerShell để nhập vào Excel

Vì vậy, bạn đã xuất một số thông tin sang một tệp có tên là các quy trình. xlsx ở phần trước. Có lẽ bây giờ bạn cần di chuyển tệp này sang máy tính khác và nhập/đọc thông tin này bằng PowerShell và Excel. Không vấn đề gì. Bạn có

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
6 theo ý của bạn

Ở cách sử dụng cơ bản nhất, bạn chỉ cần cung cấp đường dẫn đến tài liệu/sổ làm việc Excel bằng cách sử dụng tham số

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
21 như hình bên dưới. Bạn sẽ thấy rằng nó đọc trang tính đầu tiên, trong trường hợp này là trang tính Quy trình và trả về các đối tượng PowerShell

Import-Excel -Path './processes.xlsx'

Tham số đường dẫn

Có thể bạn có nhiều trang tính trong sổ làm việc Excel?

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
2

Bạn có cần chỉ đọc một số cột nhất định trong trang tính Excel không?

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
7

Lệnh ghép ngắn

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
6 có các tham số khác mà bạn có thể sử dụng để đọc các loại sổ làm việc Excel. Để biết tóm tắt đầy đủ về mọi thứ mà
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
6 có thể làm, hãy chạy
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
26

Sử dụng PowerShell để nhận [và đặt] giá trị ô Excel

Bây giờ bạn đã biết cách đọc toàn bộ trang tính bằng PowerShell và Excel, nhưng nếu bạn chỉ cần một giá trị ô thì sao?

Thay vào đó, bằng cách sử dụng lệnh ghép ngắn

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
29, bạn có thể “chuyển đổi” sổ làm việc Excel thành đối tượng PowerShell mà sau đó có thể đọc và thao tác. Để tìm một giá trị ô, trước tiên, hãy mở sổ làm việc Excel để đưa nó vào bộ nhớ

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
4

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
29 tương tự như sử dụng
Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
71 nếu làm việc trực tiếp với các đối tượng COM

Tiếp theo, chọn trang tính bên trong sổ làm việc

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
7

Quá trình này tương tự như cách đối tượng COM mở sổ làm việc với

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
72

Khi bạn đã gán trang tính cho một biến, bây giờ bạn có thể xem chi tiết từng hàng, cột và ô. Có lẽ bạn cần tìm tất cả các giá trị ô trong hàng A1. Bạn chỉ cần tham khảo thuộc tính

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
73 cung cấp chỉ số A1 như hình bên dưới

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
0

Bạn cũng có thể thay đổi giá trị của các ô trong trang tính bằng cách gán một giá trị khác, ví dụ:.

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
74

Khi đã ở trong bộ nhớ, điều quan trọng là phải giải phóng gói Excel bằng cách sử dụng lệnh ghép ngắn

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
75

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
3

Chuyển đổi trang tính thành tệp CSV bằng PowerShell và Excel

Sau khi bạn có nội dung của một trang tính Excel được biểu diễn qua các đối tượng PowerShell, việc “chuyển đổi” các trang tính Excel sang CSV chỉ cần gửi các đối tượng đó đến lệnh ghép ngắn

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
3

Có liên quan. Xuất-Csv. Chuyển đổi đối tượng thành tệp CSV

Sử dụng các quy trình. xlsx đã tạo trước đó, hãy đọc trang tính đầu tiên chứa tất cả dữ liệu vào các đối tượng PowerShell, sau đó xuất các đối tượng đó sang CSV bằng cách sử dụng lệnh bên dưới

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
5

Nếu bây giờ bạn mở tệp CSV kết quả, bạn sẽ thấy cùng một dữ liệu bên trong trang tính Quy trình [trong ví dụ này]

Chuyển đổi nhiều trang tính

Nếu bạn có sổ làm việc Excel với nhiều trang tính, bạn cũng có thể tạo tệp CSV cho từng trang tính. Để làm như vậy, bạn có thể tìm thấy tất cả các trang tính trong sổ làm việc bằng cách sử dụng lệnh ghép ngắn

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
77. Khi bạn có tên trang tính, bạn có thể chuyển các tên đó cho tham số
Import-Excel -Path './processes.xlsx'
6 và cũng có thể sử dụng tên trang tính làm tên của tệp CSV

Dưới đây bạn có thể mã ví dụ cần thiết bằng PowerShell và Excel

Get-Process | Export-Excel -Path './processes.xlsx' -AutoSize -TableName Processes -WorksheetName Proccesses
0

Phần kết luận

Sử dụng PowerShell và Excel, bạn có thể nhập, xuất và quản lý dữ liệu trong sổ làm việc Excel giống hệt như CSV mà không cần phải cài đặt Excel

Trong bài viết này, bạn đã học những kiến ​​thức cơ bản về đọc và ghi dữ liệu trong sổ làm việc Excel nhưng điều này mới chỉ là bề nổi. Sử dụng PowerShell và mô-đun ImportExcel, bạn có thể tạo biểu đồ, bảng tổng hợp và tận dụng các tính năng mạnh mẽ khác của Excel

Ghét quảng cáo?

Khám phá sách hướng dẫn ATA

Thông tin khác từ ATA Learning & Partners

  • Tài nguyên được đề xuất

    Tài nguyên được đề xuất cho đào tạo, bảo mật thông tin, tự động hóa, v.v.

  • Được trả tiền để viết

    ATA Learning luôn tìm kiếm những người hướng dẫn ở mọi cấp độ kinh nghiệm. Bất kể bạn là quản trị viên cấp dưới hay kiến ​​trúc sư hệ thống, bạn đều có điều gì đó để chia sẻ. Tại sao không viết trên một nền tảng có khán giả hiện có và chia sẻ kiến ​​thức của bạn với mọi người?

  • Sách hướng dẫn học tập ATA

    ATA Learning được biết đến với các hướng dẫn bằng văn bản chất lượng cao dưới dạng các bài đăng trên blog. Hỗ trợ Học tập ATA với sách điện tử PDF Sách hướng dẫn ATA khả dụng ngoại tuyến và không có quảng cáo

Chủ Đề