PowerShell Xuất sang Excel

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

Install-Module -Name ImportExcel -Force
2 để đọc dữ liệu đã xuất vào PowerShell

Cá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

Install-Module -Name ImportExcel -Force
3, một chức năng thông minh giúp 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 đọc

Install-Module -Name ImportExcel -Force
3 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

Nó cũng minh họa cách truy cập mô hình đối tượng excel và quan trọng hơn là cách giải phóng các đối tượng COM để bạn không bị rò rỉ bộ nhớ và quá trình ma

Thêm hỗ trợ Excel vào PowerShell

Cả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

Install-Module -Name ImportExcel -Scope CurrentUser -Force

Nếu bạn có sẵn đặc quyền của Quản trị viên, bạn có thể muốn cài đặt mô-đun cho Tất cả người dùng để thay thế. Điều này đảm bảo mô-đun khả dụng cho tất cả người dùng, nhưng quan trọng hơn, nó làm cho mô-đun khả dụng cho cả Windows PowerShell và PowerShell 7

Install-Module -Name ImportExcel -Force

Khi bạn cài đặt các mô-đun trong phạm vi Người dùng hiện tại, các mô-đun chỉ khả dụng cho phiên bản PowerShell mà bạn đã sử dụng để thực hiện cài đặt, do đó, bạn sẽ phải cài đặt mô-đun hai lần ở các vị trí khác nhau

Đọc và ghi tệp Excel

Hai lệnh ghép ngắn quan trọng nhất từ ​​mô-đun này là

  • Install-Module -Name ImportExcel -Force
    
    5. có một đường dẫn đến một. xlsx và trả về tất cả dữ liệu từ trang tính mặc định. Sử dụng tham số -WorksheetName để chỉ định một trang tính nhất định. Ví dụ

    # import excel file and show in gridview (make sure file exists!)
    $Path = "c:\path\to\some\excel.xlsx"
    Import-Excel -Path $Path | Out-GridView
    

  • Install-Module -Name ImportExcel -Force
    
    6. lưu tất cả dữ liệu đường ống vào *. tập tin xlsx. Sử dụng tham số -WorksheetName để chỉ định một trang tính nhất định. Theo mặc định, dữ liệu hiện có trên trang tính sẽ bị ghi đè. Ví dụ

    ________số 8

Chơi với dữ liệu mẫu

Hã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

Install-Module -Name ImportExcel -Force
6 để tạo tệp excel mới

Install-Module -Name ImportExcel -Force
0

Để chơi với

Install-Module -Name ImportExcel -Force
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ực

Tải xuống dữ liệu mẫu

Tì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 tệp, chỉ cần sử dụng

Install-Module -Name ImportExcel -Force
9 và
# import excel file and show in gridview (make sure file exists!)
$Path = "c:\path\to\some\excel.xlsx"
Import-Excel -Path $Path | Out-GridView
0

Install-Module -Name ImportExcel -Force
4

Khi bạn chạy mã này, nó sẽ tải xuống một loạt tệp mẫu excel

Install-Module -Name ImportExcel -Force
5

Đọc tệp Excel

Để đọc dữ liệu trực tiếp từ tệp excel, hãy sử dụng

Install-Module -Name ImportExcel -Force
5. Ví dụ: để chỉ nhận dữ liệu tài chính cho tháng 12, hãy thử điều này

Install-Module -Name ImportExcel -Force
7

Theo mặc định,

Install-Module -Name ImportExcel -Force
5 đọc dữ liệu từ trang tính đầu tiên. Nếu tệp của bạn chứa nhiều hơn một trang tính, hãy sử dụng tham số -WorksheetName để chỉ định tên của nó

Để 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

Rõ ràng, bạn cũng có thể làm điều này trực tiếp với excel. Đây là về tự động hóa (trong trường hợp bạn cần thực hiện các loại phân tích này thường xuyên) và dành cho các chàng trai nhà PowerShell, những người có thể không biết cách xoay vòng trong excel nhưng biết các công cụ của họ trong PowerShell

Và đó là về việc học. không có cách nào tốt hơn để tìm hiểu các lệnh ghép ngắn đường ống PowerShell

Install-Module -Name ImportExcel -Force
9

Đây là kết quả

Install-Module -Name ImportExcel -Force
0

Truy cập tệp XLS

Tin xấu là. . tệp xls không thể truy cập được. 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

Install-Module -Name ImportExcel -Force
5. đáng tiếc

Dưới đây là hàm

Install-Module -Name ImportExcel -Force
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

Install-Module -Name ImportExcel -Force
0

Nó nằm ngoài phạm vi của bài viết này để thảo luận chi tiết về chức năng. Mặc dù vậy, tôi muốn chỉ ra rằng mã minh họa các khía cạnh quan trọng khi sử dụng các đối tượng COM trong PowerShell

Khi sử dụng các đối tượng COM như Excel. Ứng dụng, có thể khó giải phóng tất cả các tham chiếu đối tượng ở cuối. Khi bạn làm điều này sai, các tham chiếu sẽ vẫn tồn tại và quá trình excel trong bộ nhớ cũng vậy. Tất nhiên, bạn luôn có thể tắt tiến trình sau khi sử dụng nhưng điều này có thể làm hỏng excel và lần sau khi bạn khởi chạy, nó sẽ bắt đầu ở chế độ khôi phục

Cách tiếp cận tốt hơn là đảm bảo rằng bạn đang lưu trữ từng tham chiếu đối tượng trong một biến chuyên dụng. Tiếp theo, đảm bảo rằng bạn chủ động giải phóng từng tham chiếu sau khi sử dụng bằng cách gọi ReleaseComObject()

Khi bạn đã làm đúng, không có tham chiếu mở nào tồn tại và khi bạn gọi Quit(), excel sẽ bị xóa khỏi danh sách quy trình của bạn

Làm cách nào để chuyển đổi CSV sang Excel trong PowerShell?

Cách chuyển đổi tệp CSV thành tài liệu Excel bằng XlsIO trong. .
#Nhận thư mục hiện tại. .
#Xác định tệp CSV đầu vào. .
#Xác định tệp XLSX đầu ra. .
#Khởi tạo đối tượng động cơ Excel. .
#Khởi tạo đối tượng ứng dụng Excel. .
#Xác định dấu tách. .
#Giữ nguyên loại dữ liệu từ tệp CSV. .
#Mở tệp CSV bằng XlsIO

PowerShell có thể tự động hóa Excel không?

Trong bài viết này, chúng ta sẽ tìm hiểu cách thao tác với các hàng và cột trong Excel để tự động tạo báo cáo lặp lại trong ps (PowerShell) . Tháng trước tôi được giao dự án tự động hóa báo cáo tổng kết tài chính hàng tháng. Và đó là khi tôi bắt gặp ps, một cách tuyệt vời để tự động hóa mọi thứ và mọi thứ.