Comments (5)
@ili101 Interesting. This might also be a good addition to the ImportExcel module for loading large datasets.
from epplus.
@ili101 Well, I don't have knowledge about PowerShell, but in C# the type expected is IEnumerable<object[]>
, for instance, List<object[]>
from epplus.
The problem is that the Get-Process function returns an array of object arrays, not an IEnumerable<Object[]>
(Get-Process).GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
You can force the Array<Object[]> into IEnumerable<Object[]> as follows:
$Process = New-Object "System.Collections.Generic.List``1[System.Object[]]"
Get-Process | ForEach { $Process.Add( [object[]] @( $_.Id, $_.ProcessName )) }
$null = $ws.Cells['A1'].LoadFromArrays([System.Collections.Generic.IEnumerable``1[System.Object[]]]$Process)
You can also use > $null at the end of the line instead of $null = at the beginning of the line, and it makes the code a bit clearer
from epplus.
@blairdaviesbc Thank you for the explanation.
So I can't really import a "classical Powershell object stricture" (array of [PSObject]s) with this.
We have to replace the array with a list, and break the [PSObject]s to arrays, and add the headers.
$process = [Collections.Generic.List[Object[]]]::new()
$PsProcess = Get-ChildItem
$Process.Add($PsProcess[0].PsObject.Properties.Name)
$PsProcess | ForEach-Object { $Process.Add($_.PsObject.Properties.Value) }
$null = $ws.Cells['A1'].LoadFromArrays($Process)
But now I see that we can use LoadFromCollection for that by only converting the array to a list like this:
$process = [Collections.Generic.List[System.IO.FileSystemInfo]]::new()
$TestObject = Get-ChildItem
foreach ($item in $TestObject)
{
$Process.Add($item)
}
$BindingFlags = [Reflection.BindingFlags] 'NonPublic, Static'
$MemberInfo = [System.IO.FileSystemInfo].GetMembers().Where({$_.Name -in 'Name','LastWriteTime'})
[OfficeOpenXml.Table.TableStyles]$TableStyle = 'Medium6'
$null = $ws.Cells['A1'].LoadFromCollection($process,$true,$TableStyle,$BindingFlags,$MemberInfo)
from epplus.
This seems to be solved, so I'll close it
from epplus.
Related Issues (20)
- INSERTROW System.ArgumentOutOfRangeException HOT 1
- Prevent index out of array bounds exception
- Exporting to excel shows date time value as UTC time while using EPPlus
- What is the status of this project? Is it still active? HOT 23
- NET Core doesn't support SignedCms yet.
- Does EPPLUS support Axis Title font format and series color change in scatterchart
- The type initializer for 'Gdip' threw an exception.Unable to load shared library 'libgdiplus' or one of its dependencies HOT 1
- Sumsq issue HOT 1
- Carriage return not retained
- Row_Delete doesn't delete the whole row
- .Net Core 3.0: use of foreach loop causes Excel file to balloon HOT 2
- Formula Calculation in 4.5.3.3 has bug after calculate call the cell value property return #Value HOT 4
- [NullReferenceException] ResetPageOffset HOT 1
- Don't work PrinterSettings with net core 3.1 HOT 1
- excelWorksheet.InsertRow NullReferenceException HOT 1
- Calculate() breaks the resulting value HOT 9
- Exception on loading xlsx having multiple `_xlnm.Print_Area`
- "Start cell Address must be less or equal to End cell address" Exception
- TokenHandler uses static TokenSeparatorHandler which ignores custom ITokenSeparatorProvider HOT 1
- Property Indexed of class ExcelColorXml always returns 0
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from epplus.