예제 #1
0
        private void btLoad_Click(object sender, EventArgs e)
        {
            wfMesSelect wfMes = new wfMesSelect();

            wfMes.ShowDialog();
            _lsMes = wfMes._sMes;
            _lsAxo = wfMes._sAxo;

            if (string.IsNullOrEmpty(_lsMes))
            {
                return;
            }

            bool bValidaMes = false;

            BalanzaLogica bal = new BalanzaLogica();

            bal.Axo    = _lsAxo;
            bal.Mes    = _lsMes;
            bValidaMes = BalanzaLogica.Verificar(bal);

            if (!bValidaMes)
            {
                DialogResult Result = MessageBox.Show("Ya existe una Balanza para el Mes seleccionado. Desea reemplazarlo?", Text, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
                if (Result == DialogResult.Yes)
                {
                    bValidaMes = true;
                }
            }

            if (!bValidaMes)
            {
                return;
            }

            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Filter = "Archivos de Excel (*.xls;*.xlsx)|*.xls;*.xlsx;*.csv";
            //dialog.Filter = "All Files (*.*)|*.*";

            dialog.Title = "Seleccione el archivo de Excel";

            dialog.FileName = string.Empty;

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                Cursor = Cursors.WaitCursor;

                string sFile = dialog.FileName;

                LlenarGrid(sFile);

                Inicio();

                Cursor = Cursors.Arrow;
            }
        }
예제 #2
0
        private void LlenarGrid(string _asArchivo)
        {
            try
            {
                dgwData.DataSource = null;
                CargarColFile();

                Excel.Application xlApp       = new Excel.Application();
                Excel.Workbooks   xlWorkbookS = xlApp.Workbooks;
                Excel.Workbook    xlWorkbook  = xlWorkbookS.Open(_asArchivo);
                Excel.Worksheet   xlWorksheet = xlWorkbook.Sheets[1];

                Excel.Range xlRange  = xlWorksheet.UsedRange;
                int         rowCount = xlRange.Rows.Count;
                int         colCount = xlRange.Columns.Count;

                string sUsuario = string.Empty;
                double dReal    = 0;

                long lFolio = 0;//get max folio
                lFolio = AccesoDatos.Consec(_lsProceso);

                for (int i = 6; i < rowCount; i++)
                {
                    if (xlRange.Cells[i, 1] == null)
                    {
                        continue;
                    }

                    if (xlRange.Cells[i, 2].Value2 == null)
                    {
                        continue;
                    }

                    string sTipoCta = "0";
                    if (xlRange.Cells[i, 3].Value2 == null)
                    {
                        //inicia Cuenta maestra
                        sTipoCta = "1";
                    }

                    string sCta = xlRange.Cells[i, 1].Value2.ToString();
                    if (sCta.ToUpper() == "CUENTA")
                    {
                        continue;
                    }

                    string sDescrip  = xlRange.Cells[i, 2].Value2.ToString();
                    double dSaldoAnt = 0;
                    double dSaldoAct = 0;
                    double dCargos   = 0;
                    double dMovs     = 0;

                    if (sTipoCta == "0")
                    {
                        if (!double.TryParse(xlRange.Cells[i, 3].Value2.ToString(), out dSaldoAnt))
                        {
                            dSaldoAnt = 0;
                        }
                        if (!double.TryParse(xlRange.Cells[i, 4].Value2.ToString(), out dCargos))
                        {
                            dCargos = 0;
                        }
                        if (!double.TryParse(xlRange.Cells[i, 5].Value2.ToString(), out dMovs))
                        {
                            dMovs = 0;
                        }
                        if (!double.TryParse(xlRange.Cells[i, 6].Value2.ToString(), out dSaldoAct))
                        {
                            dSaldoAct = 0;
                        }
                    }

                    BalanDetLogica bald = new BalanDetLogica();
                    bald.Folio    = lFolio;
                    bald.Consec   = 0;
                    bald.Cuenta   = sCta;
                    bald.Nombre   = sDescrip;
                    bald.Saldo    = dSaldoAnt;
                    bald.Cargo    = dCargos;
                    bald.Movi     = dMovs;
                    bald.SaldoAnt = dSaldoAnt;
                    bald.Usuario  = "";
                    if (BalanDetLogica.Guardar(bald) > 0)
                    {
                        continue;
                    }

                    AgregaDato(sTipoCta, sCta, sDescrip, dSaldoAnt, dCargos, dMovs, dSaldoAct);
                }
                xlApp.DisplayAlerts = false;
                xlWorkbook.Close();
                xlApp.DisplayAlerts = true;
                xlApp.Quit();

                if (rowCount > 0)
                {
                    BalanzaLogica bal = new BalanzaLogica();
                    bal.Folio = lFolio;
                    bal.Axo   = _lsAxo;
                    bal.Mes   = _lsMes;
                    if (BalanzaLogica.Guardar(bal) <= 0)
                    {
                        MessageBox.Show("Error, No se puedo guardar la balanza.", Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
            }
            catch (Exception ex)
            {
                //en caso de haber una excepcion que nos mande un mensaje de error
                MessageBox.Show("Error, Verificar el archivo o el nombre de la hoja" + Environment.NewLine + ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }