Imports System.Collections.Generic Imports System.IO Public Class frmReporteJ13 Dim comboKey As String Dim year As String Dim semester As String Dim canExport As Boolean Private Sub frmReporteJ13_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim initialYear As Integer Dim currentYear As Integer Dim comboSource As New Dictionary(Of String, String)() initialYear = 2019 currentYear = Now.Year For year As Integer = initialYear To currentYear comboSource.Add(year.ToString + "1", year.ToString + " - 1") comboSource.Add(year.ToString + "2", year.ToString + " - 2") Next cmbSemester.DataSource = New BindingSource(comboSource, Nothing) cmbSemester.DisplayMember = "Value" cmbSemester.ValueMember = "Key" canExport = False btnExport.Enabled = canExport btnExport.Visible = canExport btnExportXLS.Enabled = canExport btnExportXLS.Visible = canExport Dim ClassAud As New ClassMyUtils ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Entrando Reporte J13") End Sub Private Sub frmReporteJ13_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing Dim ClassAud As New ClassMyUtils ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Cerrando Reporte J13") End Sub Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click Dim Classcom As New clsComplejo Dim SQL As String = String.Empty Dim idInherent As Integer Dim idConrolEffect As Integer Dim incluyeInvalidos As Integer comboKey = DirectCast(cmbSemester.SelectedItem, KeyValuePair(Of String, String)).Key year = comboKey.Substring(0, 4) semester = comboKey.Substring(comboKey.Length - 1) canExport = False btnExport.Enabled = canExport btnExport.Visible = canExport btnExportXLS.Enabled = canExport btnExportXLS.Visible = canExport dgvResult.DataSource = Nothing incluyeInvalidos = 0 Dim result As DialogResult = MessageBox.Show("¿Incluir registros sin NIC válido?", "Reporte J13", MessageBoxButtons.YesNo) If result = DialogResult.Yes Then incluyeInvalidos = 1 End If Try SQL = "sp_Consulta_ReporteJ13 " + year + ", " + semester + ", " + incluyeInvalidos.ToString Dim dsGral As DataSet = Classcom.fdtDataSet(SQL) If dsGral.Tables.Count = 0 Then MessageBox.Show("No existen registros para el semestre seleccionado") Exit Sub ElseIf dsGral.Tables(0).Rows.Count = 0 Then MessageBox.Show("No existen registros para el semestre seleccionado") Exit Sub Else canExport = True End If btnExport.Enabled = canExport btnExport.Visible = canExport btnExportXLS.Enabled = canExport btnExportXLS.Visible = canExport dgvResult.DataSource = dsGral.Tables(0) Catch ex As Exception MessageBox.Show(ex.Message) End Try Dim ClassAud As New ClassMyUtils ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Consulta Reporte J13") End Sub Private Sub btnExport_Click(sender As Object, e As EventArgs) Handles btnExport.Click Dim fileName As String = year.ToString + "_" + semester.ToString + "_ R03 J-0313.txt" Dim repDirectory As String = "" Dim fullPath As String = fileName Dim sr As StreamWriter Dim strDelimiter As String = ";" Dim intColumnCount As Integer = dgvResult.Columns.Count - 1 Dim strRowData As String = "" Dim Classcom As New clsComplejo Try Classcom.fdtDataSet("SELECT * FROM ParamRep") If Classcom.ds.Tables(0).Rows.Count <> 0 Then repDirectory = Classcom.ds.Tables(0).Rows(0).Item("rutacarteras").ToString() If Directory.Exists(repDirectory) = False Then ' si no existe la carpeta se crea Directory.CreateDirectory(repDirectory) End If fullPath = repDirectory & "\" & fileName End If sr = File.CreateText(fullPath) For intX As Integer = 0 To dgvResult.Rows.Count - 1 strRowData = "" For intRowData As Integer = 0 To intColumnCount strRowData += Replace(dgvResult.Rows(intX).Cells(intRowData).Value, strDelimiter, "") & IIf(intRowData < intColumnCount, strDelimiter, "") '''''''''highlights this row Next intRowData sr.WriteLine(strRowData) Next intX MessageBox.Show("Reporte generado correctamente") Catch ex As Exception MessageBox.Show(ex.Message) Exit Sub End Try Dim ClassAud As New ClassMyUtils ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Generando Reporte J13") sr.Close() End Sub Private Sub btnExportarXLS_Click(sender As Object, e As EventArgs) Handles btnExportXLS.Click Dim fileName As String = year.ToString + "_" + semester.ToString + "_ R03 J-0313.txt" Dim fullPath As String = fileName Dim clsExcel As aExcel Dim ds As New DataSet Try clsExcel = New aExcel clsExcel.Titulo = fileName ds.Tables.Add("ReporteJ13") ' Add Columns Dim col As DataColumn For Each dgvCol As DataGridViewColumn In dgvResult.Columns col = New DataColumn(dgvCol.Name) ds.Tables("ReporteJ13").Columns.Add(col) Next 'Add Rows from the datagridview Dim row As DataRow Dim colcount As Integer = dgvResult.Columns.Count - 1 For i As Integer = 0 To dgvResult.Rows.Count - 1 row = ds.Tables("ReporteJ13").Rows.Add For Each column As DataGridViewColumn In dgvResult.Columns row.Item(column.Index) = dgvResult.Rows.Item(i).Cells(column.Index).Value Next Next clsExcel.ExportDataset(ds) 'MessageBox.Show("Reporte generado correctamente") Catch ex As Exception MessageBox.Show(ex.Message) End Try Dim ClassAud As New ClassMyUtils ClassAud.RT_Auditoria(clsVaribles.varUsuario, 121, 1, "Exportando Reporte J13") End Sub End Class