Hướng dẫn how do you convert excel to csv using powershell? - Làm thế nào để bạn chuyển đổi excel sang csv bằng cách sử dụng powershell?

Là một số bước bạn phải thực hiện để chuyển đổi XLSX thành CSV trong PowerShell, nhưng trước khi bạn làm điều đó, hãy tạo tệp Excel của bạn và lưu nó.

Lưu một tập tin

Tôi sẽ sử dụng một danh sách một vài tên và độ tuổi được lưu dưới dạng tệp XLSX. Những gì bạn cần nhớ là tệp chỉ nên có một bảng tính, nếu không, chức năng sẽ hiển thị thông tin có ghi đè lên bảng thứ nhất với trang thứ hai hay không.

Hướng dẫn how do you convert excel to csv using powershell? - Làm thế nào để bạn chuyển đổi excel sang csv bằng cách sử dụng powershell?

Tôi đã lưu nó ở vị trí sau:

D:\Excel\list_of_names.xlsx

Mở cửa sổ PowerShell

Sau khi bạn mở cửa sổ PowerShell, hãy sao chép mã này và chèn nó bằng nhấp chuột đúng.

Function ExcelToCsv ($File) {
    $myDir = "D:\Excel"
    $excelFile = "$myDir\" + $File + ".xlsx"
    $Excel = New-Object -ComObject Excel.Application
    $wb = $Excel.Workbooks.Open($excelFile)
	
    foreach ($ws in $wb.Worksheets) {
        $ws.SaveAs("$myDir\" + $File + ".csv", 6)
    }
    $Excel.Quit()
}

$FileName = "list_of_names"
ExcelToCsv -File $FileName

Nó sẽ tạo ra một tệp CSV mới.

Hướng dẫn how do you convert excel to csv using powershell? - Làm thế nào để bạn chuyển đổi excel sang csv bằng cách sử dụng powershell?

Ví dụ, nếu bạn mở tệp CSV trong trình soạn thảo văn bản, Notepad ++, bạn sẽ có các từ được phân tách bằng dấu phẩy.

Hướng dẫn how do you convert excel to csv using powershell? - Làm thế nào để bạn chuyển đổi excel sang csv bằng cách sử dụng powershell?

Giải thích chức năng

Ở đây, chúng tôi đặt thư mục và vị trí tệp.

$myDir = "D:\Excel"
$excelFile = "$myDir\" + $File + ".xlsx"

Mã này tạo ra một đối tượng COM để sử dụng các tính năng Excel.

$Excel = New-Object -ComObject Excel.Application

Mở tệp Excel.

$wb = $Excel.Workbooks.Open($excelFile)

Phần tiếp theo là vòng lặp foreach lưu mỗi tờ dưới dạng tệp. Nếu bạn có nhiều tờ bên trong một bảng tính, nó sẽ như bạn cho dù bạn muốn ghi đè.

Hướng dẫn how do you convert excel to csv using powershell? - Làm thế nào để bạn chuyển đổi excel sang csv bằng cách sử dụng powershell?

Saveas sử dụng 6 làm tham số thứ hai. Bạn cần thêm nó, vì vậy tệp sẽ được lưu dưới dạng mẫu văn bản và ứng dụng sẽ không cố gắng lưu định dạng.

$ws.SaveAs("$myDir\" + $File + ".csv", 6)

Nếu bạn cố gắng lưu định dạng, bạn sẽ nhận được một loạt rác nếu bạn mở tệp bên trong trình soạn thảo văn bản.

Chuyển đổi nhiều tờ thành nhiều tệp

Khi bắt đầu bài học này, tôi đã viết rằng bạn chỉ nên có một tờ bên trong sổ làm việc. Chúng tôi có thể dễ dàng sửa đổi mã, để xử lý một sổ làm việc với nhiều tờ.

Thay thế mã này:

$ws.SaveAs("$myDir\" + $File + ".csv", 6)

Và dán mã này:

$ws.SaveAs("$myDir\" + $File + " " + $ws.name + ".csv", 6)

Bây giờ, chạy mã và chức năng sẽ tạo một tệp mới cho mỗi bảng tính.

Hướng dẫn how do you convert excel to csv using powershell? - Làm thế nào để bạn chuyển đổi excel sang csv bằng cách sử dụng powershell?

Quan điểm đăng: 33.419 33,419

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à ưu tiên 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.

Trong thực tế, đây là một quá 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 đó, chuyển đổi thành tệp CSV, nó có thể dễ dàng thêm vào cơ sở dữ liệu thông qua một 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, trong đó 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 của thư mục, tên của tệp và định dạng tệp, trong tập lệnh bên dưới.
For the first script, where we convert all tabs of an Excel file, just enter the name of the directory, the name of the file and the file format, in the script below.

Tập lệnh sử dụng hàm để chuyển đổi các tệp Excel với đị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, trong đó 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.

# 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.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
}

Đó là nó! Bây giờ chúng ta có thể chuyển đổi một tệp Excel thành tệp CSV một cách dễ dàng.

Các tập lệnh cho bài đăng này có thể được tìm thấy trên GitHub của tôi (@guimeditus92).

Làm cách nào để tự động chuyển đổi Excel thành CSV?

Các bước để chuyển đổi nội dung từ tệp TXT hoặc CSV thành Excel..
Mở bảng tính Excel nơi bạn muốn lưu dữ liệu và nhấp vào tab Dữ liệu ..
Trong nhóm dữ liệu bên ngoài, nhấp vào từ văn bản ..
Chọn tệp TXT hoặc CSV bạn muốn chuyển đổi và nhấp vào Nhập ..
Chọn "Phân đoạn". ....
Nhấn tiếp..

Làm cách nào để tạo tệp CSV trong PowerShell?

Để tạo tệp CSV với PowerShell và CSV CSV:..
Mở bảng điều khiển PowerShell ..
Chạy bộ xử lý bộ xử lý để trả về một số loại đầu ra.CMDLET XUẤT HIỆN-CSV đã chuyển đổi các đối tượng PowerShell thành các tệp CSV để bạn cần một vài đối tượng.....
Bây giờ ống đầu ra của bộ xử lý bộ xử lý GET vào CMDLET xuất-CSV ..

PowerShell có thể xuất khẩu sang CSV không?

Nhận đầu ra trong tệp CSV bằng cách sử dụng PowerShell để có được đầu ra của bất kỳ lệnh nào trong tệp CSV, CMDlet xuất-CSV được sử dụng.Nó lưu đầu ra dưới dạng các giá trị phân tách bằng dấu phẩy.Tại đây, lệnh Export-CSV sẽ tìm nạp đầu ra của data_object và lưu nó dưới dạng tệp CSV tại đường dẫn được chỉ định.the Export-CSV cmdlet is used. It saves the output as comma-separated values. Here, the Export-CSV command will fetch the output of the Data_object and save it as a CSV file at the specified Path.

Làm thế nào để bạn chuyển đổi XLS thành CSV bằng cách sử dụng dấu nhắc lệnh?

Chuyển đổi XLS thành CSV..
Chạy 'Chuyển đổi XLS' sau đó chọn hành động chuyển đổi tệp để thực hiện ..
Chọn đường dẫn tệp đầu vào.Đối với toàn bộ một thư mục, hãy chắc chắn sử dụng *.....
Chỉ định đường dẫn tệp đầu ra.....
Nhấp vào nút Chuyển đổi (hoặc F5) trên thanh công cụ để bắt đầu chuyển đổi ..