Tự động hóa excel powershell

Windows PowerShell là ngôn ngữ script và shell dòng lệnh được thiết kế đặc biệt cho quản trị hệ thống. Tương tự của nó trong Linux được gọi là Bash Scripting. được xây dựng trên. NET Framework, Windows PowerShell giúp các chuyên gia CNTT kiểm soát và tự động hóa việc quản trị hệ điều hành Windows và các ứng dụng chạy trên môi trường Windows Server

Các lệnh Windows PowerShell, được gọi là lệnh ghép ngắn, cho phép bạn quản lý máy tính từ dòng lệnh. Các nhà cung cấp Windows PowerShell cho phép bạn truy cập kho lưu trữ dữ liệu, chẳng hạn như Sổ đăng ký và Kho chứng chỉ, dễ dàng như khi bạn truy cập hệ thống tệp

Ngoài ra, Windows PowerShell có trình phân tích cú pháp biểu thức phong phú và ngôn ngữ kịch bản được phát triển đầy đủ. Vì vậy, nói một cách đơn giản, bạn có thể hoàn thành tất cả các tác vụ mà bạn thực hiện với GUI và hơn thế nữa

Hướng dẫn này được thiết kế cho tất cả những độc giả muốn tìm hiểu các tính năng của Windows Server 2012. Nó đặc biệt hữu ích cho tất cả những chuyên gia được yêu cầu cài đặt và sử dụng hệ điều hành này để thực hiện các nhiệm vụ khác nhau trong các tổ chức tương ứng của họ

Chúng tôi cho rằng người đọc hướng dẫn này đã có kinh nghiệm thực tế về việc xử lý Máy chủ dựa trên Windows. Ngoài ra, sẽ hữu ích nếu người đọc có kiến ​​thức cơ bản về cách cài đặt và sử dụng một hệ điều hành.

Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách thực hiện lệnh Script Power Shell trong lập trình C# Winform

Windows PowerShell chắc còn không xa lạ với chúng ta, trong bài viết này mình chỉ hướng dẫn các bạn cách chạy lệnh powershell trong winform C#

Và lấy dữ liệu kết quả trả về và xử lý theo ý muốn của chúng ta

VD. Trong Power Shell chúng ta có lệnh như. kiểm tra hashfile sha1 hay md5. , thì chúng ta cũng có thể sử dụng tập lệnh để lấy

Hoặc sử dụng các chức năng cơ bản như

Get-Process, Get-Service, Get-FileHash

Các bạn có thể Google để tìm hiểu thêm về các lệnh của PowerShell nhé các bạn

Dưới đây là giao diện demo của ứng dụng

Hiển thị các Tiến trình đang chạy (Trình quản lý tác vụ) sử dụng PowerShell

Tự động hóa excel powershell

Để thực hiện được bài viết này, các bạn cần cài đặt thư viện

Import-Excel "c:\temp\ExcelDemo.xlsx" -OutVariable Fruit
3 từ Nuget như hình ảnh bên dưới

Nhập khẩu Excel khẩu là mô-đun PowerShell cho phép bạn nhập hoặc xuất dữ liệu trực tiếp từ bảng tính Excel mà không cần cài đặt Microsoft Excel trên máy tính của bạn. Trong hướng dẫn này, bạn sẽ học cách làm việc với Excel-Excel và Export-Excel. Mô-đun INPERExcel chạy trên Windows, Linux hoặc Mac và bây giờ có thể được sử dụng trong chức năng Azure và hành động GitHub. Nói một cách đơn giản, nếu bạn cần tạo báo cáo cho công việc, bạn phải tìm hiểu mô-đun này

Nội dung chính Hiển thị

  • Nhập dữ liệu từ Excel ^
  • Xuất dữ liệu sang Excel ^
  • Add data into the current table has ^
  • Xuất dữ liệu với định dạng ^
  • Create biểu tượng ^
  • Chỉnh sửa dữ liệu hiện có trong bảng tính Excel ^
  • Kết luận và liên kết ^
  • Đăng ký nhận bản tin 4SYSOPS

Nội dung

  1. Nhập dữ liệu từ Excel
  2. Xuất dữ liệu sang Excel
  3. Add data into the current table
  4. Xuất dữ liệu với định dạng
  5. Create map
  6. Chỉnh sửa dữ liệu hiện có trong bảng tính Excel
  7. Comments and links

Doug Finke, một MVP của Microsoft kể từ năm 2009, xây dựng và duy trì mô-đun. Doug liên tục cải thiện mô-đun -đun và phát hành các bản cập nhật mô-đun mới thông thường. Theo this text, module -module is at V7. 1. 3 và liên tục được phát triển. Mô-đun của anh ấy đã gần 1 triệu lượt tải xuống kể từ lần phát hành đầu tiên. Cài đặt mô-đun là một nhiệm vụ đơn giản với mã PowerShell

Install-Module -Name ImportExcel

Excel không bắt buộc phải cài đặt để mô-đun này hoạt động. Cài đặt mô-đun. NET DLL có tên epplus. dll cho phép mô-đun nhập dữ liệu Excel hoặc xuất sang định dạng Excel. Điều này cho phép bạn cài đặt mô-đun trên máy chủ mà không cần cài đặt Office trên máy chủ

Nhập dữ liệu từ Excel ^

Bắt đầu với mô-đun rất dễ dàng. Please start by way input a data number from Excel. Trong bản demo đầu tiên này, tôi sẽ nhập một số đơn giản dữ liệu mà tôi có từ một bảng trong Excel

Tự động hóa excel powershell

Bảng dữ liệu mẫu excel để nhập

Để nhập dữ liệu, tôi sử dụng màn hình điện tử nhập khẩu và chỉ định đường dẫn. Trong ví dụ này, tôi cũng sẽ lưu dữ liệu vào một biến được gọi là "trái cây" để sử dụng sau

Import-Excel "c:\temp\ExcelDemo.xlsx" -OutVariable Fruit

Nhập dữ liệu Excel trong PowerShell

Bây giờ, chúng tôi có một bảng đơn giản với dữ liệu được tổ chức trong các cột và hàng. Các thuộc tính bảng tiết lộ rằng PowerShell đã tạo ra một pScustomObject với hai thuộc tính ghi chú cho hai cột

Thuộc tính bảng Excel

Nhưng nếu tôi có một bảng dữ liệu lớn thì sao? . Please look to like way active

Tôi đã tạo một tab mới trong bảng tính của mình chứa tất cả thông tin quy trình từ máy của tôi. Tôi đã đặt tên cho tab là "quy trình. " Bảng tính có 69 cột dữ liệu. Tôi có thể nhập tất cả các cột này và lọc dữ liệu, nhưng đối với diễn đàn này, tôi chỉ muốn đặt tên, xử lý tên, CPU và các cột bộ nhớ

Xử lý thông tin dữ liệu trong Excel

Sử dụng màn hình giới thiệu nhập khẩu, tôi chỉ có thể lấy dữ liệu mà tôi quan tâm. Vui lòng kéo vào các cột tôi đã đề cập trước đó (tên, tên xử lý, CPU và bộ nhớ). Đối với bản demo này, tôi chỉ muốn 6 hàng dữ liệu. Để thực hiện điều này, tôi sử dụng các tham số -importcolumns, -startrow và -endrow

Để chọn các cột, tôi chỉ cần đếm các cột từ trái sang phải trong bảng tính của tôi bắt đầu từ 1. Tôi biết bạn có thể thấy đầy đủ bảng tính, nhưng tôi đã tính các cột mà tôi cần. Để chọn các cột tôi muốn, tôi sẽ cần cột 1, 6, 12 và 46. Nhưng nếu tôi muốn giữ chúng theo thứ tự mà tôi đã đề cập ở trên, thì thứ tự sẽ phải là 1, 46, 12 và 6

import-excel C:\temp\ExcelDemo.xlsx -WorksheetName Processes -ImportColumns @(1, 46, 12, 6) -startrow 1 -endrow 7

Quy trình thông báo được nhập vào PowerShell

Xuất dữ liệu sang Excel ^

Như với quá trình nhập dữ liệu, tôi cũng có thể xuất dữ liệu để vượt qua chỉ bằng một dòng mã. Hãy cùng quay trở lại ví dụ trước đây của tôi. Receptor dataquy trình. Nếu tôi muốn xuất tất cả thông tin quy trình trên máy của mình, thì tất cả những gì tôi cần làm là nhập một dòng

Get-process | Export-Excel

Điều này dẫn đến việc tắt xuất khẩu điện tử tạo ra một bảng tính. Nếu tôi đã cài đặt Excel, nó sẽ khởi động Excel và hiển thị tệp đầu tiên cho tôi

Xuất dữ liệu sang Excel bằng các giá trị mặc định

Lưu ý rằng tôi đã chỉ định một tên tệp hoặc bất kỳ định dạng thông tin định dạng nào khác. Tuy nhiên, màn hình xuất khẩu giới thiệu đã tạo bảng tính và áp dụng một số định dạng mặc định (xem chú thích 2) và tạo tệp tạm thời cho tôi (chú thích 1)

Tất nhiên, tôi có thể chọn một tên tệp và đường dẫn khi xuất, nếu tôi muốn, bằng cách sử dụng tham số -Path và nhập một giá trị như vậy

Get-process | Export-Excel C:\temp\ProcessList.xlsx

Add data into the current table has ^

Tại một số điểm, bạn sẽ cần thêm dữ liệu vào bảng tính hiện có. Tham số -Thêm dữ liệu bổ sung vào bảng tính hiện có. Tôi có thể chỉ định một bảng tính để thêm tham số -WorkSheet hoặc tôi có thể bắt đầu một bảng tính mới với cùng một tham số nhưng chọn một tab tên mới

Cho đến nay, tôi đã làm việc trên một bảng tính có tên "Exceldemo. xlsx", bao gồm các bảng tính của trái cây và quy trình. Tôi muốn thêm một tab mới có tên là "Mọi người" và sao chép dữ liệu từ một bảng nhỏ mà tôi đã tạo

Bảng thông tin người và thành phố được lưu cho người biến

Xuất dữ liệu này vào bảng tính Excel hiện tại của tôi và tạo một bảng tính mới sẽ trông giống như thế này

$People | Export-Excel c:\temp\ExcelDemo.xlsx -Append -WorksheetName "People"

Xuất khẩu bảng mọi người

Điều này rất dễ dàng và không yêu cầu nhiều mã. Dưới đây, chúng ta có thể xem các bảng tính tab đã được tạo từ Export-Excel

Bảng tab tính toán Excel được tạo bởi Excel xuất

Khi bạn nhìn vào bảng, bạn sẽ thấy rằng nó không có định dạng bảng tính excel quen thuộc. Tôi muốn thêm một số định dạng vào dữ liệu của tôi. Hãy để tôi chỉ cho bạn làm thế nào để điều này có thể được thực hiện

Xuất dữ liệu với định dạng ^

CMDLET Export-Excel cung cấp nhiều tùy chọn để định dạng dữ liệu của tôi khi xuất. Tôi sẽ nhấn mạnh một vài tùy chọn, nhưng hãy chắc chắn rằng bạn xem xét các tham số có sẵn cho màn hình điện tử xuất khẩu cho danh sách đầy đủ các tùy chọn định dạng

Tôi muốn xuất dữ liệu một lần nữa. Tuy nhiên, lần này, tôi sẽ thêm một kiểu bàn và một tiêu đề cho bảng của tôi, và tôi muốn tiêu đề bảng được in đậm. Điều này có thể thực hiện được với Export-Excel. Mã được sử dụng để làm điều này hơi khác so với ví dụ trước

$People | Export-Excel c:\temp\ExcelDemo.xlsx -Append -WorksheetName "PeopleFormatted" -TableStyle Medium16 -title "Demo of Table Formatting" -TitleBold

Phiên bản được định dạng định dạng của bảng Mọi người trong Excel

Bạn có thể tự hỏi loại bảng tôi đã chọn (Medium16) trong ví dụ cuối cùng là gì. CMDLET Excel-Excel có các kiểu bảng được tích hợp tương ứng với các kiểu bảng bạn thấy trong Excel

Xuất các loại bảng excel có sẵn

Các kiểu bàn trong Excel giống nhau. Trong màn hình bên dưới, tôi nhấp vào "Định dạng dưới dạng bảng" ở đầu bảng tính, sau đó hiển thị các loại bảng. Nếu bạn di chuột qua một phong cách, bạn sẽ thấy một số văn bản cung cấp cho bạn các chi tiết về phong cách. Chú thích số 1 là phong cách tôi lơ lửng. Lưu ý rằng nó nói Medium16. Đây là cách tôi có tên mà tôi đã sử dụng trong ví dụ mã trước đây để tham số loại bảng

Kiểu bảng Excel tương ứng

Create biểu tượng ^

Export-Excel không chỉ làm cho bảng tính. CMDLET có thể xuất bảng dữ liệu và biến dữ liệu đó thành một biểu tượng bên trong bảng tính Excel. Đối với ví dụ tiếp theo của tôi, tôi đã tạo ra một bảng của một số mặt hàng tồn tại trong kho đơn giản và dữ liệu bán hàng

Data sale

Tôi muốn thiết lập biểu đồ doanh số này trong một biểu đồ thanh đơn giản mô tả các đơn vị được bán. Để làm điều này, tôi cần xác định các thuộc tính tôi muốn cho bảng của mình. Để làm điều này, tôi sử dụng màn hình CMDlet mới

$ChartData = New-ExcelChartDefinition -XRange Item -YRange TotalSold -ChartType ColumnClustered -Title "Total Fruit Sales"

Dòng mã này xác định các thuộc tính bảng của tôi và nó cho Excel sử dụng những gì cho XValue trong biểu đồ. Trước tiên tôi sử dụng cột vật phẩm, sau đó, tôi xác định giá trị y (tôi đang sử dụng cột TotalSold). Sau đó, tôi chỉ định một loại biểu đồ. Có 69 loại biểu đồ có sẵn trong CMDLET, tất cả đều tương ứng với các loại biểu đồ trong Excel. Tôi đã chọn loại "Cột đã bao gồm" cho ví dụ của tôi

Sau đó tôi thêm một tiêu đề biểu đồ, mặc dù điều này là không cần thiết. Các giá trị này được lưu vào một biến có tên $ Chartdata. Tiếp theo phần để thêm vào phần tử xuất khẩu là định nghĩa của biểu đồ này

________số 8

Hãy cùng đi qua ví dụ này. Đầu tiên, tôi gửi dữ liệu biến $ đến màn hình xuất khẩu. Biến dữ liệu $ là dữ liệu bán hàng của chúng tôi. Cú pháp cho Export-Excel là sự kết nối tiếp theo từ ví dụ trước của tôi. Tôi xuất và nối nó vào một bảng tính có tên "Exceldemo. xlsx. " Tôi tạo bảng tính tab mới có tên là FruitSalesChart. Đây là tất cả các mã tôi đã thấy trong các ví dụ trước

Sau đó, tôi thêm vào định nghĩa biểu đồ mà tôi đã tạo trước đó bằng cách gọi biến $ ChartData. Cuối cùng, tôi nói với Excel rằng tôi muốn có một phạm vi tên tự động. Tham số tự động -SHOW mở bảng tính sau khi tôi tạo nó

Bán hàng trái cây xuất khẩu sang Excel dưới dạng bảng và biểu tượng

Chỉnh sửa dữ liệu hiện có trong bảng tính Excel ^

Tôi thấy rất dễ dàng để xuất dữ liệu từ PowerShell sang Excel mà tôi mặc định là máy ảnh hiển thị xuất khẩu cho phần lớn công việc của tôi. Tuy nhiên, bạn cũng có thể cập nhật các giá trị dữ liệu riêng lẻ trong bảng tính hiện có. Tôi sẽ kết nối với bảng tính mà tôi đã sử dụng trong các ví dụ trước. Để kết nối, hãy sử dụng màn hình mở rộng

$ExcelPkg = Open-ExcelPackage -Path  "C:\temp\ExcelDemo.xlsx"

Tôi có thể bắt đầu làm việc với dữ liệu sau khi mở tệp

Thông tin bảng tính trong PowerShell

Năm hàng đầu tiên tạo thành các tab bảng tính tôi đã tạo trước đó trong bảng tính. Tôi có thể xem dữ liệu trong bất kỳ tab nào với một số đơn giản mã

Import-Excel "c:\temp\ExcelDemo.xlsx" -OutVariable Fruit
0

Mã trên có thể không có ý nghĩa gì mà không có tài liệu tham khảo trực quan. Vui lòng xem màn hình này ở bên dưới, điều này sẽ giúp giải mã

Trong ví dụ đầu tiên, tôi đã gọi bảng tính $ [3,1]. Nếu bạn nhìn vào bảng tính Excel, "3" đại diện cho hàng thứ 3. "1" đại diện cho cột đầu tiên (bắt đầu từ bên trái của cột A)

Trong ví dụ thứ hai mã, tôi đã gọi bảng tính $ [3,2] là hàng 3, cột2 (cột B trong bảng tính)

Ví dụ về việc truy cập các giá trị dữ liệu Excel

Chèn một giá trị mới vào ô dữ liệu Excel được thực hiện với một bộ mã tương tự. Tôi sẽ thay thế tên "Jeremy" bằng tên "Robert"

Import-Excel "c:\temp\ExcelDemo.xlsx" -OutVariable Fruit
1

Nó dễ dàng cập nhật một trường trong Excel. Tuy nhiên, có một người bắt. Sự thay đổi này tôi vẫn đang thực hiện trong bộ nhớ bên trong PowerShell. Tệp cần "đóng" để dữ liệu được ghi lại vào tệp

Import-Excel "c:\temp\ExcelDemo.xlsx" -OutVariable Fruit
2

Update table value value

Kết luận và liên kết ^

Hôm nay, tôi đã chỉ cho bạn cách nhập dữ liệu từ bảng tính Excel, tạo bảng tính, tạo biểu tượng đơn giản và thao tác dữ liệu đã nhập trong bảng tính Excel hiện có. Mô-đun INTEREXCEL làm cho các nhiệm vụ này và các hoạt động đơn giản khác để hoàn thành

Tôi đã yêu cầu một số nhiệm vụ phức tạp mà bạn có thể thực hiện với mô-đun này. Nếu bạn muốn tìm hiểu thêm, vui lòng truy cập trang Doug Finke xông hơi Github để biết thêm nhiều ví dụ về mã demo mà bạn có thể thử. Anh ấy có một trang dành riêng cho Câu hỏi thường gặp và phân tích kỹ lưỡng về các ví dụ mà bạn chắc chắn nên kiểm tra

Đăng ký nhận bản tin 4SYSOPS

Nhiều ví dụ về mã hóa trong mô-đun Doug, đến từ các thành viên cộng đồng đang tìm cách sử dụng Excel theo những cách độc đáo. Nếu bạn có ý tưởng về những cách mới để sử dụng mô-đun của anh ấy, vui lòng gửi yêu cầu kéo cho repo của anh ấy để người khác có thể học hỏi từ trường hợp sử dụng của bạn