Skip to content
Snippets Groups Projects
Commit a16794d8 authored by Flavio Ackermann's avatar Flavio Ackermann
Browse files

Improved Excel file handling, CSV file handling

parent 2713ba30
No related branches found
No related tags found
No related merge requests found
Import-Module -Name "$PSScriptRoot\Module\ElectronicsDataHandling"
Convert-ElectronicsDataFile
\ No newline at end of file
Start-Transcript -Path "$PSScriptRoot\..\Log\$(Get-Date -Format "yyyy-MM-dd-HHmmss").log"
Import-Module -Name "$PSScriptRoot\Module\ElectronicsDataHandling" -Force
Convert-ElectronicsDataFile -Verbose
Stop-Transcript
\ No newline at end of file
......@@ -77,7 +77,7 @@ function Import-RequiredModules {
Write-Verbose "Imported module '$ModuleName'"
} catch {
Write-Warning "Module '$ModuleName' could not be imported"
break
return
}
}
}
......@@ -107,7 +107,9 @@ function Convert-ElectronicsDataFile {
$OutputFilePath
)
begin {
begin {}
process {
Import-RequiredModules
#region Select input file
......@@ -122,9 +124,15 @@ function Convert-ElectronicsDataFile {
$null = $FileBrowser.ShowDialog()
$SourceFile = Get-Item -Path $FileBrowser.FileName
Write-Verbose "Source file is '$($SourceFile.FullName)'`n$SourceFile"
Write-Verbose "Source file is '$($SourceFile.FullName)'"
}
$FileExtension = $SourceFile.Extension
if ($FileExtension -notmatch '.txt|.xlsx|.csv') {
Write-Warning "File format is not supported: '$FileExtension'"
return
}
#endregion
Write-Output "What"
#region Select output file
if (-not ($OutputFilePath)) {
......@@ -145,31 +153,25 @@ function Convert-ElectronicsDataFile {
$SaveStatus = $SaveFileDialog.ShowDialog()
if ($SaveStatus -eq 'Cancel') {
Write-Verbose 'Save file dialog got cancelled'
break
Write-Warning 'Save file dialog got cancelled'
return
}
$OutputFile = New-Item -Path $SaveFileDialog.FileName -Force
$OutputFilePath = $SaveFileDialog.FileName
#endregion
$Selector = Get-SelectorFromDialog
$FileExtension = $SourceFile.Extension
if ($FileExtension -notmatch '.txt|.xlsx') {
Write-Warning "File format is not supported: '$FileExtension'"
break
}
Write-Output "Importing content from '$($SourceFile.FullName)'"
switch ($FileExtension) {
'.xlsx' { $Data = Import-Excel -Path $SourceFile.FullName -NoHeader }
'.csv' { $Data = Import-CSV -Path $SourceFile.FullName }
'.txt' { $Data = Get-Content -Path $SourceFile.FullName }
'.xlsx' { $Data = Import-Excel -Path $SourceFile.FullName -NoHeader }# -AsText *}
}
}
process {
$i = 0
$Result = $Data | ForEach-Object {
if ($i % $Selector -eq 0) {
......@@ -177,20 +179,23 @@ function Convert-ElectronicsDataFile {
}
$i++
}
}
end {
switch ($FileExtension) {
'.xlsx' {
$Result | Export-Excel -Path $OutputFile -NoHeader
'.csv' {
$Result | Export-CSV -Path $OutputFilePath -NoTypeInformation
}
'.txt' {
$Result | Set-Content -Path $OutputFile
$null = New-Item -Path $OutputFilePath -Force
$Result | Set-Content -Path $OutputFilePath
}
'.xlsx' {
$Result | Export-Excel -Path $OutputFilePath -NoHeader -ClearSheet
}
}
Write-Verbose "Created file '$OutputFile'"
Invoke-Item -Path $OutputFile.DirectoryName
Write-Verbose "Created file '$OutputFilePath'"
Invoke-Item -Path (Get-Item -Path $OutputFilePath).DirectoryName
}
end {}
}
Export-ModuleMember -Function Convert-ElectronicsDataFile
\ No newline at end of file
Export-ModuleMember -Function Convert-ElectronicsDataFile
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment