Correciones en impresiones de EXCEL en GPS
This commit is contained in:
@@ -1578,22 +1578,39 @@ Partial Class GPS_Rastreo
|
|||||||
|
|
||||||
If Opcion = "KM" Then
|
If Opcion = "KM" Then
|
||||||
If GVKm.Rows.Count > 0 Then
|
If GVKm.Rows.Count > 0 Then
|
||||||
RutaReporte = "Empresas/Grales/ReportesProgramados/RPTKmRecorridos.rdlc"
|
If Format = "PDF" Then
|
||||||
NombreReporte = "ReporteKMRecorridos"
|
RutaReporte = "Empresas/Grales/ReportesProgramados/RPTKmRecorridos.rdlc"
|
||||||
|
NombreReporte = "ReporteKMRecorridos"
|
||||||
|
|
||||||
|
Try
|
||||||
|
Dim RptParametro As New List(Of ReportParameter)
|
||||||
|
RptParametro.Add(New ReportParameter("FechaInicio", FechaI.ToString))
|
||||||
|
RptParametro.Add(New ReportParameter("FechaFin", FechaF.ToString))
|
||||||
|
RptParametro.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
|
||||||
|
RptParametro.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString))
|
||||||
|
|
||||||
|
retorno = StreamPDF(RutaReporte, DtDatos, RptParametro, $"{NombreReporte}{Date.Now.ToShortDateString}", Format, MR:=Nothing, RDSName:="DsOC")
|
||||||
|
|
||||||
|
ImprimirbytesPDF(retorno, $"{NombreReporte}{Date.Now.ToShortDateString}", Format)
|
||||||
|
Catch ex As Exception
|
||||||
|
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Else
|
||||||
|
Dim filtros As String = $"Fechas: {FechaI.ToString("dd/MM/yyyy")} a {FechaF.ToString("dd/MM/yyyy")}"
|
||||||
|
|
||||||
|
If DtDatos.Rows.Count > 0 AndAlso String.IsNullOrEmpty(DtDatos.Rows(0)("Vehiculo").ToString()) Then
|
||||||
|
DtDatos.Rows(0)("Vehiculo") = "Total Kilometros Recorridos"
|
||||||
|
End If
|
||||||
|
|
||||||
|
DtDatos.Columns.RemoveAt(0)
|
||||||
|
DtDatos.Columns("Vehiculo").ColumnName = "Vehículo"
|
||||||
|
DtDatos.Columns("TiempoOperativo").ColumnName = "Tiempo Operativo"
|
||||||
|
DtDatos.Columns("Dist").ColumnName = "Kilometros Recorridos"
|
||||||
|
|
||||||
|
ImprimirExcelG(DtDatos, "ReporteKMRecorridos.xlsx", "Reporte de Kilometros Recorridos", filtros, NombreHoja:="RepKM")
|
||||||
|
End If
|
||||||
|
|
||||||
Try
|
|
||||||
Dim RptParametro As New List(Of ReportParameter)
|
|
||||||
RptParametro.Add(New ReportParameter("FechaInicio", FechaI.ToString))
|
|
||||||
RptParametro.Add(New ReportParameter("FechaFin", FechaF.ToString))
|
|
||||||
RptParametro.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
|
|
||||||
RptParametro.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString))
|
|
||||||
|
|
||||||
retorno = StreamPDF(RutaReporte, DtDatos, RptParametro, $"{NombreReporte}{Date.Now.ToShortDateString}", Format, MR:=Nothing, RDSName:="DsOC")
|
|
||||||
|
|
||||||
ImprimirbytesPDF(retorno, $"{NombreReporte}{Date.Now.ToShortDateString}", Format)
|
|
||||||
Catch ex As Exception
|
|
||||||
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
|
|
||||||
End Try
|
|
||||||
Else
|
Else
|
||||||
Alert("No se pudo imprimir el pdf, ya que no se ha hecho una consulta, o ésta no arrojó resultados.", TipoMensaje.MsgInformacion)
|
Alert("No se pudo imprimir el pdf, ya que no se ha hecho una consulta, o ésta no arrojó resultados.", TipoMensaje.MsgInformacion)
|
||||||
End If
|
End If
|
||||||
@@ -1737,8 +1754,16 @@ Partial Class GPS_Rastreo
|
|||||||
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
|
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
retorno = StreamPDF(RutaReporte, DtDatos, RptParametro, $"{NombreReporte}{Date.Now.ToShortDateString}", Format, MR:=Nothing, RDSName:="DsOC")
|
If Opcion = "Idle" AndAlso Format = "EXCEL" Then
|
||||||
ImprimirbytesPDF(retorno, $"{NombreReporte}{Date.Now.ToShortDateString}", Format)
|
Dim filtros As String = $"Fechas: {FechaI.ToString("dd/MM/yyyy")} a {FechaF.ToString("dd/MM/yyyy")}, Tiempo Muerto: {TxtMinutos.Text} minutos"
|
||||||
|
|
||||||
|
ImprimirExcelG(DtDatos, "ReporteKMRecorridos.xlsx", "Reporte de KM Recorridos", filtros)
|
||||||
|
Else
|
||||||
|
retorno = StreamPDF(RutaReporte, DtDatos, RptParametro, $"{NombreReporte}{Date.Now.ToShortDateString}", Format, MR:=Nothing, RDSName:="DsOC")
|
||||||
|
ImprimirbytesPDF(retorno, $"{NombreReporte}{Date.Now.ToShortDateString}", Format)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
DtDatos.Clear()
|
DtDatos.Clear()
|
||||||
Else
|
Else
|
||||||
Alert("No se pudo imprimir el pdf, ya que no se ha hecho una consulta, o ésta no arrojó resultados.", TipoMensaje.MsgInformacion)
|
Alert("No se pudo imprimir el pdf, ya que no se ha hecho una consulta, o ésta no arrojó resultados.", TipoMensaje.MsgInformacion)
|
||||||
@@ -1785,7 +1810,7 @@ Partial Class GPS_Rastreo
|
|||||||
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
||||||
Dim FileExcel As ExcelFile = New ExcelFile
|
Dim FileExcel As ExcelFile = New ExcelFile
|
||||||
Dim Dt = DtPosiciones.Copy()
|
Dim Dt = DtPosiciones.Copy()
|
||||||
Dt.Columns.Add("Direccion", GetType(String))
|
Dt.Columns.Add("Dirección", GetType(String))
|
||||||
Dt.Columns.Remove("CveDispositivo")
|
Dt.Columns.Remove("CveDispositivo")
|
||||||
Dt.Columns.Remove("Evento")
|
Dt.Columns.Remove("Evento")
|
||||||
Dt.Columns.Remove("Icono")
|
Dt.Columns.Remove("Icono")
|
||||||
@@ -1797,11 +1822,42 @@ Partial Class GPS_Rastreo
|
|||||||
Dt.Columns.Remove("Posicion")
|
Dt.Columns.Remove("Posicion")
|
||||||
|
|
||||||
For Each Dir As JObject In Direcciones
|
For Each Dir As JObject In Direcciones
|
||||||
Dt.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString()
|
Dt.Rows(Dir("Indice").ToEntero())("Dirección") = Dir("Direccion").ToString()
|
||||||
Next
|
Next
|
||||||
|
|
||||||
Dim item = FileExcel.Worksheets.Add("Última Posición")
|
Dt.Columns("Vehiculo").ColumnName = "Vehículo"
|
||||||
item.InsertDataTable(Dt, New InsertDataTableOptions() With
|
Dt.Columns("Velocidad").ColumnName = "Velocidad (KM/H)"
|
||||||
|
|
||||||
|
ImprimirExcelG(Dt, FileName, "Última Posición", "", NombreHoja:="UltimaPosicion")
|
||||||
|
|
||||||
|
'Dim item = FileExcel.Worksheets.Add("Última Posición")
|
||||||
|
'item.InsertDataTable(Dt, New InsertDataTableOptions() With
|
||||||
|
' {
|
||||||
|
' .ColumnHeaders = True,
|
||||||
|
' .StartRow = 0,
|
||||||
|
' .StartColumn = 0
|
||||||
|
' })
|
||||||
|
'item.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
|
||||||
|
'item.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
|
||||||
|
|
||||||
|
'Dim columnCount = item.CalculateMaxUsedColumns()
|
||||||
|
'For i = 0 To columnCount
|
||||||
|
' item.Columns(i).AutoFit(1, item.Rows(i), item.Rows(item.Rows.Count - 1))
|
||||||
|
'Next
|
||||||
|
'FileExcel.Save(Me.Response, FileName, SaveOptions.XlsxDefault)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub ImprimirExcelG(DtDatos As DataTable, Archivo As String, Titulo As String, Filtros As String, Optional NombreHoja As String = "Hoja1")
|
||||||
|
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
||||||
|
Dim excel As ExcelFile = New ExcelFile
|
||||||
|
|
||||||
|
Dim TotalRowHeader As Integer = 8
|
||||||
|
Dim TotalRowFooter As Integer = 2
|
||||||
|
|
||||||
|
Dim item = excel.Worksheets.Add(NombreHoja)
|
||||||
|
item.InsertDataTable(DtDatos, New InsertDataTableOptions() With
|
||||||
{
|
{
|
||||||
.ColumnHeaders = True,
|
.ColumnHeaders = True,
|
||||||
.StartRow = 0,
|
.StartRow = 0,
|
||||||
@@ -1813,9 +1869,127 @@ Partial Class GPS_Rastreo
|
|||||||
Dim columnCount = item.CalculateMaxUsedColumns()
|
Dim columnCount = item.CalculateMaxUsedColumns()
|
||||||
For i = 0 To columnCount
|
For i = 0 To columnCount
|
||||||
item.Columns(i).AutoFit(1, item.Rows(i), item.Rows(item.Rows.Count - 1))
|
item.Columns(i).AutoFit(1, item.Rows(i), item.Rows(item.Rows.Count - 1))
|
||||||
Next
|
Next
|
||||||
FileExcel.Save(Me.Response, FileName, SaveOptions.XlsxDefault)
|
|
||||||
|
|
||||||
|
Dim worksheet = excel.Worksheets(0)
|
||||||
|
worksheet.Rows.InsertEmpty(0, TotalRowHeader)
|
||||||
|
Dim celdasConTexto = worksheet.GetUsedCellRange(True)
|
||||||
|
celdasConTexto.Style.Font.Name = "Calibri Light"
|
||||||
|
|
||||||
|
Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex)
|
||||||
|
RangoNombreEmpresa.Merged = True
|
||||||
|
RangoNombreEmpresa.Value = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=UsuarioActual.CveCliente).FiltroPrimeroValor("Nombre")
|
||||||
|
RangoNombreEmpresa.Style.Font.Size = 18 * 20
|
||||||
|
RangoNombreEmpresa.Style.Font.Name = "Calibri Light"
|
||||||
|
RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||||
|
RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||||
|
|
||||||
|
|
||||||
|
Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex)
|
||||||
|
RangoTitulo.Merged = True
|
||||||
|
RangoTitulo.Value = Titulo
|
||||||
|
RangoTitulo.Style.Font.Size = 20 * 20
|
||||||
|
RangoTitulo.Style.Font.Name = "Calibri Light"
|
||||||
|
RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||||
|
RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||||
|
|
||||||
|
|
||||||
|
'If FechaIMes.Trim.Length > 0 And FechaFMes.Trim.Length > 0 Then
|
||||||
|
' Dim RangoFechas = worksheet.Cells.GetSubrangeAbsolute(4, celdasConTexto.FirstColumnIndex, 4, celdasConTexto.LastColumnIndex)
|
||||||
|
' RangoFechas.Merged = True
|
||||||
|
' RangoFechas.Value = $"Fechas: {FechaIMes} a {FechaFMes}"
|
||||||
|
' RangoFechas.Style.Font.Size = 15 * 20
|
||||||
|
' RangoFechas.Style.Font.Name = "Calibri Light"
|
||||||
|
' RangoFechas.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||||
|
' RangoFechas.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||||
|
'End If
|
||||||
|
|
||||||
|
|
||||||
|
'If SubProyecto.Length > 0 Then
|
||||||
|
' Dim RangoSubProyecto = worksheet.Cells.GetSubrangeAbsolute(5, celdasConTexto.FirstColumnIndex, 5, celdasConTexto.LastColumnIndex)
|
||||||
|
' RangoSubProyecto.Merged = True
|
||||||
|
' RangoSubProyecto.Value = SubProyecto
|
||||||
|
' RangoSubProyecto.Style.Font.Size = 20 * 20
|
||||||
|
' RangoSubProyecto.Style.Font.Name = "Calibri Light"
|
||||||
|
' RangoSubProyecto.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||||
|
' RangoSubProyecto.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||||
|
'End If
|
||||||
|
|
||||||
|
|
||||||
|
If Not String.IsNullOrEmpty(Filtros) Then
|
||||||
|
Dim RangoDatoTituloExtra = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex)
|
||||||
|
RangoDatoTituloExtra.Merged = True
|
||||||
|
RangoDatoTituloExtra.Value = Filtros
|
||||||
|
RangoDatoTituloExtra.Style.Font.Size = 15 * 20
|
||||||
|
RangoDatoTituloExtra.Style.Font.Name = "Calibri Light"
|
||||||
|
RangoDatoTituloExtra.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||||
|
RangoDatoTituloExtra.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
|
||||||
|
|
||||||
|
worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20
|
||||||
|
worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||||
|
worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||||
|
|
||||||
|
worksheet.Rows(8).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
|
||||||
|
worksheet.Rows(8).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
If i > 0 Then
|
||||||
|
Try
|
||||||
|
worksheet.Columns(i).AutoFit(1)
|
||||||
|
Catch ex As Exception
|
||||||
|
End Try
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Dim IndexEndTable As Integer = DtDatos.Rows.Count + TotalRowHeader + TotalRowFooter
|
||||||
|
|
||||||
|
worksheet.Rows(IndexEndTable).Cells(0).Value = "Usuario Imprimió"
|
||||||
|
worksheet.Rows(IndexEndTable + 1).Cells(0).Value = UsuarioActual.Nombre
|
||||||
|
|
||||||
|
worksheet.Rows(IndexEndTable).Cells(2).Value = "Fecha Impresión"
|
||||||
|
worksheet.Rows(IndexEndTable + 1).Cells(2).Value = DateTime.Now.ToString("dd/MM/yyyy")
|
||||||
|
|
||||||
|
'Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
|
||||||
|
|
||||||
|
'If Imagen.Exists Then
|
||||||
|
' Dim Ruta As String = String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)
|
||||||
|
' Using sr As New StreamReader(Ruta)
|
||||||
|
' Dim ms As New MemoryStream()
|
||||||
|
' sr.BaseStream.CopyTo(ms)
|
||||||
|
' worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", 100, 100, LengthUnit.Pixel)
|
||||||
|
' End Using
|
||||||
|
'End If
|
||||||
|
|
||||||
|
|
||||||
|
For I = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
|
||||||
|
|
||||||
|
If I > 0 Then
|
||||||
|
|
||||||
|
'If Divisor = 1 Then
|
||||||
|
' worksheet.Columns(I + 1).Style.NumberFormat = "#,##0.00"
|
||||||
|
'Else
|
||||||
|
' worksheet.Columns(I + 1).Style.NumberFormat = "#,##"
|
||||||
|
'End If
|
||||||
|
|
||||||
|
Try
|
||||||
|
worksheet.Columns(I).AutoFit(1)
|
||||||
|
Catch ex As Exception
|
||||||
|
End Try
|
||||||
|
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
excel.Save(Me.Response, Archivo, SaveOptions.XlsxDefault)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
Private Function CargaDireccion(ByVal lat As String, ByVal lng As String) As String
|
Private Function CargaDireccion(ByVal lat As String, ByVal lng As String) As String
|
||||||
Try
|
Try
|
||||||
|
|||||||
Reference in New Issue
Block a user