Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động hóa xử lý file Excel bằng PowerShell: Hướng dẫn cơ bản

Tăng Thanh Linh 02/04/2026 17:53 255 lượt xem 2 trả lời

Chào các bạn,

Dạo gần đây mình có tìm hiểu về PowerShell để tự động hóa một số tác vụ với file Excel, thấy khá hay nên muốn chia sẻ với mọi người.

Thực ra, với các tác vụ đơn giản như copy dữ liệu giữa các sheet, đổi tên sheet, hay thậm chí là lọc dữ liệu cơ bản, thì Excel đã có sẵn các công cụ. Tuy nhiên, khi cần xử lý hàng loạt file, hoặc tích hợp vào một quy trình tự động hóa phức tạp hơn, thì việc dùng đến ngôn ngữ lập trình sẽ hiệu quả hơn nhiều.

PowerShell là một lựa chọn khá tiện lợi vì nó có sẵn trên Windows và có thể tương tác trực tiếp với các đối tượng COM của Excel. Dưới đây là một ví dụ đơn giản về cách mở một file Excel, đọc dữ liệu từ một sheet và ghi ra một file mới:

$excel = New-Object -ComObject Excel.Application
$workbook = $excel.Workbooks.Open("C:\Path\To\Your\File.xlsx")
$sheet = $workbook.Sheets.Item(1)

# Đọc dữ liệu từ ô A1
$data = $sheet.Cells.Item(1, 1).Value

# Ghi dữ liệu ra file text
$data | Out-File "C:\Path\To\Output.txt"

$workbook.Close()
$excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($sheet) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($workbook) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null
Remove-Variable excel, workbook, sheet

Đây chỉ là một ví dụ rất cơ bản. Với PowerShell, chúng ta có thể làm được nhiều hơn thế, ví dụ như:

  • Tự động tạo báo cáo từ nhiều file nguồn.
  • Xóa, thêm, sửa dữ liệu theo điều kiện.
  • Định dạng file Excel theo mẫu.
  • Tích hợp với các tác vụ quản trị hệ thống khác.

Các bạn đã từng dùng PowerShell hay các ngôn ngữ khác như Python, C# để làm việc với Excel chưa? Chia sẻ kinh nghiệm của mình bên dưới nhé!

4

Mình cũng đang mày mò với PowerShell cho mấy vụ tự động hóa Excel đây. Thấy bạn đề cập đến việc xử lý hàng loạt file, mình đang gặp khó khăn với việc gom dữ liệu từ nhiều file con vào một file tổng. Không biết PowerShell có giải pháp nào hiệu quả cho trường hợp này không nhỉ? Chia sẻ thêm kinh nghiệm của bạn nhé!

5

Hay quá bạn ơi! Mình cũng đang muốn tìm hiểu về PowerShell để tự động hóa bớt mấy vụ lặp đi lặp lại với Excel. Bạn có thể chia sẻ thêm về cách PowerShell tương tác với các object Excel như thế nào không? Kiểu như làm sao để nó đọc được cell, ghi được dữ liệu, hay thậm chí là chạy macro ấy. Mình tò mò không biết nó có phức tạp lắm không.

1

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký