mirror of
https://github.com/dfinke/ImportExcel.git
synced 2025-12-06 00:23:20 +00:00
Put Get-ExcelColumnName Back in
Violated the "break nothing" rule by taking it out
This commit is contained in:
22
Get-ExcelColumnName.ps1
Normal file
22
Get-ExcelColumnName.ps1
Normal 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 ''
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user