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)
|
Public Shared Sub IEnumerableAExcel(Of t)(Datos As IEnumerable(Of t), Fichero As String)
|
||||||
Dim wb As New ClosedXML.Excel.XLWorkbook
|
Dim wb As New ClosedXML.Excel.XLWorkbook
|
||||||
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of t)(Datos)
|
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of t)(Datos)
|
||||||
wb.AddWorksheet(dt)
|
Dim ws = wb.AddWorksheet(dt)
|
||||||
|
ws.Columns().AdjustToContents()
|
||||||
wb.SaveAs(Fichero)
|
wb.SaveAs(Fichero)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Shared Sub IEnumerableAExcel(Of t)(Datos As List(Of t), Fichero As String)
|
Public Shared Sub IEnumerableAExcel(Of t)(Datos As List(Of t), Fichero As String)
|
||||||
Dim wb As New ClosedXML.Excel.XLWorkbook
|
Dim wb As New ClosedXML.Excel.XLWorkbook
|
||||||
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of t)(Datos)
|
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of t)(Datos)
|
||||||
wb.AddWorksheet(dt)
|
Dim ws = wb.AddWorksheet(dt)
|
||||||
|
ws.Columns().AdjustToContents()
|
||||||
wb.SaveAs(Fichero)
|
wb.SaveAs(Fichero)
|
||||||
End Sub
|
End Sub
|
||||||
Public Shared Function IEnumerableAExcel(Of t)(Datos As List(Of t)) As Byte()
|
Public Shared Function IEnumerableAExcel(Of t)(Datos As List(Of t)) As Byte()
|
||||||
Dim wb As New ClosedXML.Excel.XLWorkbook
|
Dim wb As New ClosedXML.Excel.XLWorkbook
|
||||||
Dim dt = tsUtilidades.Extensiones.IEnumerableExtensions.CopyToDataTable(Of t)(Datos)
|
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
|
Dim ms As New MemoryStream
|
||||||
wb.SaveAs(ms)
|
wb.SaveAs(ms)
|
||||||
ms.Position = 0
|
ms.Position = 0
|
||||||
Return ms.ToArray
|
Return ms.ToArray
|
||||||
End Function
|
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
|
Dim wb As New ClosedXML.Excel.XLWorkbook
|
||||||
|
|
||||||
For i = 0 To Datos.Count - 1
|
For i = 0 To Datos.Count - 1
|
||||||
Dim tabla = Datos(i)
|
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
|
Next
|
||||||
Dim ms As New MemoryStream
|
|
||||||
wb.SaveAs(ms)
|
Using ms As New MemoryStream
|
||||||
ms.Position = 0
|
wb.SaveAs(ms)
|
||||||
Return ms.ToArray
|
Return ms.ToArray()
|
||||||
|
End Using
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
End Namespace
|
End Namespace
|
||||||
@@ -15,11 +15,12 @@
|
|||||||
<RootNamespace>tsWPFCore</RootNamespace>
|
<RootNamespace>tsWPFCore</RootNamespace>
|
||||||
<PackageId>tsWPFCore</PackageId>
|
<PackageId>tsWPFCore</PackageId>
|
||||||
<PackageTags>net8.0-windows, libreria</PackageTags>
|
<PackageTags>net8.0-windows, libreria</PackageTags>
|
||||||
<Version>1.3.10</Version>
|
<Version>1.3.11</Version>
|
||||||
<Authors>Manuel</Authors>
|
<Authors>Manuel</Authors>
|
||||||
<Company>Tecnosis S.A</Company>
|
<Company>Tecnosis S.A</Company>
|
||||||
<Description>Utilidades para aplicaciones WPF.</Description>
|
<Description>Utilidades para aplicaciones WPF.</Description>
|
||||||
<PackageReleaseNotes>
|
<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-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
|
- 2026-01-19 V1.3.9 Se Corrige hint de previsualizar
|
||||||
- 2025-10-20 V1.3.8 Se añade botón de previsualizar
|
- 2025-10-20 V1.3.8 Se añade botón de previsualizar
|
||||||
|
|||||||
Reference in New Issue
Block a user