From e93071c8b34c1a59acff0d1fc7d86254e363c60b Mon Sep 17 00:00:00 2001 From: MLopez Date: Wed, 18 Jan 2023 20:01:23 -0700 Subject: [PATCH] =?UTF-8?q?ModExtensiones:=20Hacer=20ValidFileName=20de=20?= =?UTF-8?q?prop=C3=B3sito=20general=20Por=20si=20se=20llega=20a=20ocupar?= =?UTF-8?q?=20en=20otra=20cosa,=20que=20no=20solo=20sea=20para=20las=20hoj?= =?UTF-8?q?as=20de=20excel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/modExtensiones.vb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index b1cc3606d..63ff870df 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -155,11 +155,14 @@ Namespace Extensiones End If End Function - Public Function ValidFileName(ByVal name As String) As String + Public Function ValidFileName(name As String, Optional maxChars As Integer = -1) As String For Each c As Char In System.IO.Path.GetInvalidFileNameChars() name = name.Replace(c.ToString(), "_") Next - Return Truncate(name, 31) + If maxChars > 0 AndAlso maxChars < 256 Then + Return Truncate(name, maxChars) + End If + Return Truncate(name, 255) End Function Public Class RespuestaCancelacionSAT @@ -2544,7 +2547,7 @@ Namespace Extensiones Dim TotalRowFooter As Integer = 2 Dim worksheet = excel.Worksheets(0) - worksheet.Name = ValidFileName(NombreArchivoXLSx) + worksheet.Name = ValidFileName(NombreArchivoXLSx, 31) worksheet.Rows.InsertEmpty(0, TotalRowHeader) Dim celdasConTexto = worksheet.GetUsedCellRange(True) celdasConTexto.Style.Font.Name = "Calibri Light" @@ -2620,10 +2623,10 @@ Namespace Extensiones Public Sub ExportToExcelG(Dt As DataTable, NombreArchivoXLSx As String, Optional Titulo As String = "Reporte", Optional Usuario As Usuario = Nothing, Optional Filtros As String = "", Optional AlturaImagen As Double = 100, Optional AnchoImagen As Double = 100) GemBox.Spreadsheet.SpreadsheetInfo.SetLicense(SerialGemBoxSpreadsheet) - If Dt.TableName Is Nothing Then Dt.TableName = ValidFileName(NombreArchivoXLSx) + If Dt.TableName Is Nothing Then Dt.TableName = NombreArchivoXLSx Dim excel As New GemBox.Spreadsheet.ExcelFile - Dim item = excel.Worksheets.Add(ValidFileName(Dt.TableName)) + Dim item = excel.Worksheets.Add(ValidFileName(Dt.TableName, 31)) item.InsertDataTable(Dt, New InsertDataTableOptions() With { @@ -2637,7 +2640,7 @@ Namespace Extensiones Dim TotalRowFooter As Integer = 2 Dim worksheet = excel.Worksheets(0) - 'worksheet.Name = ValidFileName(NombreArchivoXLSx) + 'worksheet.Name = ValidFileName(NombreArchivoXLSx, 31) worksheet.Rows.InsertEmpty(0, TotalRowHeader) Dim celdasConTexto = worksheet.GetUsedCellRange(True) celdasConTexto.Style.Font.Name = "Calibri Light"