Lưu Excel trong PowerShell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
function Save-Excel {
    <#
    .SYNOPSIS
        Lưu Gói OfficeOpenXml Excel

    .DESCRIPTION
        Lưu Gói OfficeOpenXml Excel

    .PARAMETER Excel
        Một đối tượng ExcelPackage để đóng

    .PARAMETER Path
        Nếu được chỉ định, hãy lưu dưới dạng đường dẫn này

    .PARAMETER Close
                Nếu được chỉ định, hãy đóng sau khi lưu

    .PARAMETER Passthru
                Nếu được chỉ định, hãy tạo lại và trả về đối tượng Excel

    .EXAMPLE
        Save-Excel -Excel $Excel

#Save $Excel

    .EXAMPLE
        Lưu-Excel -Excel $Excel -Đóng

#Save $Excel, đóng

    .EXAMPLE
        Save-Excel -Excel $Excel -Path C. \Mới. xlsx

#Lưu $Excel dưới dạng C. \Mới. xlsx

    .EXAMPLE
        $Excel = $Excel. Lưu-Excel -Passthru

#Save $Excel, mở lại để tiếp tục làm việc với nó

    .NOTES
        Cảm ơn Doug Finke vì ví dụ của anh ấy.
            https. //github. com/dfinke/ImportExcel/blob/master/ImportExcel. psm1

        Cảm ơn Philip Thompson về một loạt ví dụ phong phú về cách làm việc với EPPlus trong PowerShell.
            https. //excelpslib. mật mã. com/

    .LINK
        https. //github. com/RamblingCookieMonster/PSExcel

    .FUNCTIONALITY
        Excel
    #>
    [OutputType([OfficeOpenXml. ExcelPackage])]
    [cmdletbinding()]
    param(
        [tham số( Bắt buộc=$true,
                    ValueFromPipeline=$true,
                    ValueFromPipelineByPropertyName=$true)]
        [OfficeOpenXml.ExcelPackage]$Excel,

        [parameter( Bắt buộc=$false,
                    ValueFromPipeline=$false,
                     ValueFromPipelineByPropertyName=$false)]
        [validatescript({
            $Parent = Split-Path $_ -Parent -ErrorAction SilentlyContinue
            if( -not (Test-Path -Path $Parent -PathType Container -ErrorAction SilentlyContinue) )
            {
                Throw "Specify a valid path. Parent '$Parent' does not exist: $_"
            }
            $True
        })]
        [string]$Path

[switch]$Đóng,

        [switch]$Passthru
    )
    Quy trình
    {
        foreach . Cảm ơn Oisin. http. // stackoverflow. com/a/3040982/3067642
        {
            Try
            {
                if($Path)
                {
                    Try
                    {
                        #Resolve relative paths.. Thanks Oisin! http://stackoverflow.com/a/3040982/3067642
                     $Path = $ExecutionContext. SessionState. Con đường. GetUnresolvedProviderPathFromPSPath($Path)
                    }
                     Catch
                    {
                        Write-Error "Không thể . $_"
                        tiếp tục
                    }

viết dài dòng "Tiết kiệm $($xl. Tệp) dưới dạng $($Path)"

                    $xl. saveas($Path)
                }
                else
                {
                     write-verbose "Tiết kiệm $ . tệp)"

                    $xl. lưu()
                }

                if($Passthru)
                {
                    $OpenPath = $xl. Tệp
                    $xl. Dispose()
                    $xl = $Null
                     New-Excel -Path $OpenPath
                }
            }
            Catch
            {
                Write-Error "Error saving file. $_"
                         Tiếp tục
            }

             if($Close)
            {
                           Cố gắng
                {
  write . tệp)"

                    $xl. Vứt bỏ()
                    $xl = $null
                }
                Bắt
                {
                    Write-Error $_
                    Continue
                }
            }
        }
    }
}

PowerShell có thể xuất sang Excel không?

Xuất và nhập vào và từ Excel bằng mô-đun PowerShell ImportExcel. ImportExcel 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 .

PowerShell có thể đọc tệp Excel không?

Bạn có thể lưu một bảng excel dưới dạng. csv và powershell có thể đọc và ghi vào chúng dưới dạng đối tượng , vì vậy rất dễ làm việc với điều đó.

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

chuyển xlsx sang csv bằng powershell .
foreach ($ws bằng $wb. Bảng tính) {
$ws. SaveAs("$myDir\" + $File + ". csv", 6)
$Excel. Từ bỏ()

Lệnh Save trong Excel là gì?

Để sử dụng phím tắt lưu dưới dạng Excel, chỉ cần nhấn đồng thời các phím "Ctrl" và "S" . Phím tắt này sẽ hiển thị hộp thoại "Lưu dưới dạng", cho phép bạn chọn nơi bạn muốn lưu sổ làm việc của mình. Bạn cũng có thể sử dụng lối tắt này để lưu sổ làm việc của mình sang một định dạng tệp khác.