Làm cách nào để chuyển đổi excel sang csv trong powershell?

Sau khi mở cùng một bảng tính Excel để lưu dữ liệu dưới dạng CSV lần thứ ba, tôi đã viết một tập lệnh PowerShell để làm điều đó cho mình

Chỉ cần đặt các tệp nguồn và đích và tập lệnh sẽ lo phần còn lại

& {
    $sourceFile = "C:\Temp\data.xlsx"
    $outFile = "C:\Temp\data.csv"

    $excelApplication = New-Object -ComObject Excel.Application 

    try {
        $excelApplication.visible = $false;
        $excelApplication.DisplayAlerts = $false 

        $workbook = $excelApplication.Workbooks.Open[$sourceFile] 
        $workbook.WorkSheets.item["MySheetName"].Activate[]
        $workbook.SaveAs[$outFile, [Microsoft.Office.Interop.Excel.XlFileFormat]::xlCSV]
        $workbook.Close[] 
    } finally {
        $excelApplication.Quit[]
    }
}

thẻ

  • Excel
  • PowerShell

Thể loại

  • Văn phòng
  • lập trình

  • Nhóm Microsoft. Đặt câu hỏi với Polly

    Viết bởi Steve Fenton .
    Thứ Tư, ngày 17 tháng 2 năm 2021

  • Microsoft Teams - Những gì Microsoft đã dạy tôi trong tuần này

    Viết bởi Steve Fenton .
    Thứ Ba, ngày 17 tháng 3 năm 2020

Đối với tập lệnh EXCEL_TO_CSV_ALLTABS. ps1, nơi chúng tôi chuyển đổi tất cả các tab của tệp Excel, chỉ cần nhập tên thư mục, tên tệp và định dạng tệp. Tập lệnh sử dụng chức năng để chuyển đổi các tệp Excel có định dạng XLSX sang CSV, tuy nhiên định dạng này có thể được thay đổi trong tập lệnh

Nếu muốn, bạn có thể thay đổi thư mục và tên tệp của mình

# Defines the directory where the file is located
$dir = "D:\"

# Defines the name of the Excel file
$excelFileName = "YOUR_FILE_NAME"

Đối với tập lệnh thứ hai EXCEL_TO_CSV. ps1, nơi chúng tôi chỉ chuyển đổi một tab của tệp Excel, chỉ cần nhập tên của thư mục và tên của tệp trong tập lệnh bên dưới

Trong môi trường BI, chúng tôi tìm thấy rất nhiều dữ liệu không được lưu trữ trong cơ sở dữ liệu và cũng có rất nhiều người dùng dễ dàng và thích lưu trữ dữ liệu trong bảng tính Excel. Vì vậy, trong bài đăng này, tôi sẽ chỉ cho bạn cách chuyển đổi tệp Excel bằng tập lệnh PowerShell

Thực tế đây là một quy trình rất dễ dàng, chúng ta có thể chuyển đổi tất cả các tab trong Excel hoặc chỉ chuyển đổi một tab duy nhất. Vì vậy, theo cách đó, khi chuyển đổi sang tệp CSV, tệp có thể dễ dàng được thêm vào cơ sở dữ liệu thông qua quy trình hoặc công cụ ETL, thay vì tệp Excel gốc.
Đối với tập lệnh đầu tiên, nơi chúng tôi chuyển đổi tất cả các tab của tệp Excel, chỉ cần nhập tên thư mục, tên tệp và định dạng tệp vào tập lệnh bên dưới.

Tập lệnh sử dụng chức năng để chuyển đổi các tệp Excel có định dạng XLSX sang CSV, tuy nhiên định dạng này có thể được thay đổi trong tập lệnh

# To execute the script without agreeing with the execution policy
Set-ExecutionPolicy Bypass -Scope Process
# Defines the directory where the file is located
$dir = "D:\"

# Defines the name of the Excel file
$excelFileName = "YOUR_FILE_NAME"

# Define a function to convert the file
Function ExportWSToCSV [$excelFileName, $csvLoc]
{
$excelFile = $dir + $excelFileName + ".xlsx"
$E = New-Object -ComObject Excel.Application
$E.Visible = $false
$E.DisplayAlerts = $false
$wb = $E.Workbooks.Open[$excelFile]
foreach [$ws in $wb.Worksheets]
{
$n = $excelFileName + "_" + $WS.Name
$ws.SaveAs[$csvLoc + $n + ".csv", 6]
}
$E.Quit[]
}

# For each file in the directory with the xlsx format, convert to CSV using the function above
$ens = Get-ChildItem $dir -filter *.xlsx
foreach[$e in $ens]
{
ExportWSToCSV -excelFileName $e.BaseName -csvLoc $dir
}

Đối với tập lệnh thứ hai, nơi chúng tôi chỉ chuyển đổi một tab của tệp Excel, chỉ cần nhập tên của thư mục và tên của tệp trong tập lệnh bên dưới

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

Trong sổ làm việc Excel của bạn, hãy chuyển sang tab Tệp, rồi bấm vào Lưu dưới dạng. Ngoài ra, bạn có thể nhấn F12 để mở hộp thoại Lưu dưới dạng tương tự. 2. Trong hộp Lưu dưới dạng, chọn lưu tệp Excel của bạn dưới dạng CSV [được phân cách bằng dấu phẩy]

Làm cách nào để đọc dữ liệu từ Excel trong powershell?

Cách tải và đọc tệp excel được lưu trữ trong sharepoint trực tuyến bằng powershell .
$Excel = Đối tượng mới -ComObject Excel. Đăng kí
$Workbook = $Excel. sách bài tập. .
$Excel. sách bài tập. .
# Lấy sheet đầu tiên trong file excel
$workSheet = $Workbook. trang tính. .
$WorkSheet. Tên
# Lấy giá trị cho ô B2
$mailto = $workSheet. tế bào

Chủ Đề