206-05-22 V1.3.11 tamaño de columnas automatico en ienumerableaexcel
This commit is contained in:
@@ -183,36 +183,60 @@ Namespace Utilidades
|
||||
Public Shared Sub IEnumerableAExcel(Of t)(Datos As IEnumerable(Of t), Fichero As String)
|
||||
Dim wb As New ClosedXML.Excel.XLWorkbook
|
||||
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of t)(Datos)
|
||||
wb.AddWorksheet(dt)
|
||||
Dim ws = wb.AddWorksheet(dt)
|
||||
ws.Columns().AdjustToContents()
|
||||
wb.SaveAs(Fichero)
|
||||
End Sub
|
||||
|
||||
Public Shared Sub IEnumerableAExcel(Of t)(Datos As List(Of t), Fichero As String)
|
||||
Dim wb As New ClosedXML.Excel.XLWorkbook
|
||||
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of t)(Datos)
|
||||
wb.AddWorksheet(dt)
|
||||
Dim ws = wb.AddWorksheet(dt)
|
||||
ws.Columns().AdjustToContents()
|
||||
wb.SaveAs(Fichero)
|
||||
End Sub
|
||||
Public Shared Function IEnumerableAExcel(Of t)(Datos As List(Of t)) As Byte()
|
||||
Dim wb As New ClosedXML.Excel.XLWorkbook
|
||||
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of t)(Datos)
|
||||
wb.AddWorksheet(dt)
|
||||
Dim ws = wb.AddWorksheet(dt)
|
||||
ws.Columns().AdjustToContents()
|
||||
Dim ms As New MemoryStream
|
||||
wb.SaveAs(ms)
|
||||
ms.Position = 0
|
||||
Return ms.ToArray
|
||||
End Function
|
||||
Public Shared Function ListaIEnumerableAExcel(Of t)(Datos As List(Of List(Of t)), NombreTablas As List(Of String)) As Byte()
|
||||
Public Shared Function ListaIEnumerableAExcel(Of T)(Datos As List(Of List(Of T)), NombreTablas As List(Of String)) As Byte()
|
||||
If Datos Is Nothing OrElse NombreTablas Is Nothing Then
|
||||
Throw New ArgumentNullException("Los parámetros no pueden ser Nothing.")
|
||||
End If
|
||||
|
||||
If Datos.Count <> NombreTablas.Count Then
|
||||
Throw New ArgumentException("La cantidad de listas y nombres de tablas no coincide.")
|
||||
End If
|
||||
|
||||
Dim wb As New ClosedXML.Excel.XLWorkbook
|
||||
|
||||
For i = 0 To Datos.Count - 1
|
||||
Dim tabla = Datos(i)
|
||||
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of t)(tabla)
|
||||
wb.AddWorksheet(dt, NombreTablas(i))
|
||||
|
||||
' Evitar error si la lista está vacía
|
||||
If tabla Is Nothing OrElse tabla.Count = 0 Then
|
||||
Dim wsVacio = wb.AddWorksheet(NombreTablas(i))
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of T)(tabla)
|
||||
Dim ws = wb.AddWorksheet(dt, NombreTablas(i))
|
||||
|
||||
' Autoajuste de columnas
|
||||
ws.Columns().AdjustToContents()
|
||||
Next
|
||||
Dim ms As New MemoryStream
|
||||
|
||||
Using ms As New MemoryStream
|
||||
wb.SaveAs(ms)
|
||||
ms.Position = 0
|
||||
Return ms.ToArray
|
||||
Return ms.ToArray()
|
||||
End Using
|
||||
End Function
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -15,11 +15,12 @@
|
||||
<RootNamespace>tsWPFCore</RootNamespace>
|
||||
<PackageId>tsWPFCore</PackageId>
|
||||
<PackageTags>net8.0-windows, libreria</PackageTags>
|
||||
<Version>1.3.10</Version>
|
||||
<Version>1.3.11</Version>
|
||||
<Authors>Manuel</Authors>
|
||||
<Company>Tecnosis S.A</Company>
|
||||
<Description>Utilidades para aplicaciones WPF.</Description>
|
||||
<PackageReleaseNotes>
|
||||
- 2026-05-22 V1.3.11 tamaño de columnas automatico en ienumerableaexcel
|
||||
- 2026-03-12 V1.3.10 Se lanza el evento campoactualizado si se ha lanzado con FuerzaValidarControl
|
||||
- 2026-01-19 V1.3.9 Se Corrige hint de previsualizar
|
||||
- 2025-10-20 V1.3.8 Se añade botón de previsualizar
|
||||
|
||||
Reference in New Issue
Block a user