Put Get-ExcelColumnName Back in

Violated the "break nothing" rule by taking it out
This commit is contained in:
jhoneill
2018-07-13 18:42:45 +01:00
parent cd1dcde6d0
commit 3697d53bdd
2 changed files with 26 additions and 4 deletions

22
Get-ExcelColumnName.ps1 Normal file
View File

@@ -0,0 +1,22 @@
function Get-ExcelColumnName {
param(
[Parameter(ValueFromPipeline=$true)]
$columnNumber=1
)
Process {
$dividend = $columnNumber
$columnName = @()
while($dividend -gt 0) {
$modulo = ($dividend - 1) % 26
$columnName += [char](65 + $modulo)
$dividend = [int](($dividend -$modulo)/26)
}
[PSCustomObject] @{
ColumnNumber = $columnNumber
ColumnName = $columnName -join ''
}
}
}

View File

@@ -1,7 +1,7 @@
function Get-XYRange {
param($targetData)
$record = $targetData| Select-Object -First 1
$record = $targetData| select -First 1
$p=$record.psobject.Properties.name
$infer = for ($idx = 0; $idx -lt $p.Count; $idx++) {
@@ -15,12 +15,12 @@ function Get-XYRange {
Name = $name
Value = $value
DataType = $result.DataType
ExcelColumn = [OfficeOpenXml.ExcelAddress]::TranslateFromR1C1("R[1]C[$($idx+1)]", 0 , 0) -replace "\d+", "" #(Get-ExcelColumnName ($idx + 1)).ColumnName
ExcelColumn = (Get-ExcelColumnName ($idx+1)).ColumnName
}
}
[PSCustomObject]@{
XRange = $infer | ? {$_.datatype -match 'string'} | Select-Object -First 1 excelcolumn, name
YRange = $infer | ? {$_.datatype -match 'int|double'} |Select-Object -First 1 excelcolumn, name
XRange = $infer | ? {$_.datatype -match 'string'} | select -First 1 excelcolumn, name
YRange = $infer | ? {$_.datatype -match 'int|double'} |select -First 1 excelcolumn, name
}
}