public override void GenerarEXCEL(string titulo = "") { DataRow fila0; string pathFile = ""; string pathPlantilla = ""; string cedulaRNC = ""; string periodo = ""; string tipoId = "", ncf = "", ncfModificado = ""; DateTime fecha = DateTime.Now; string feComprobante = ""; double itbis = 0, monto = 0; int lineaNo = 12; OfficeDriver.ExcelDriver objExcel = null; try { if (MyData == null) { return; } if (!objUtil.IsMSExcelIntalled()) { throw new Exception("MICROSOFT EXCEL NO ESTA INSTALADO..."); } Cursor = Cursors.WaitCursor; objExcel = new OfficeDriver.ExcelDriver(); objExcel.isOpenOffice = false; //CREAMOS Directorio para Ubicar Archivos //Buscamos la Plantilla de excel pathPlantilla = System.Environment.CurrentDirectory + @"\Files\plantilla607.xls"; if (!File.Exists(pathPlantilla)) { pathPlantilla = GetFolderDocGenerados("DGII") + @"\plantilla607.xls"; } if (File.Exists(pathPlantilla)) { pathFile = GetFolderDocGenerados("DGII") + @"\temp_plantilla607.xls"; if (File.Exists(pathFile)) { File.Delete(pathFile); } File.Copy(pathPlantilla, pathFile); } else { objUtil.MostrarMensajeError("NO EXISTE PALNTILLA607.xls"); Cursor = Cursors.Default; return; } tsProgressBar.Value = 0; tsProgressBar.Maximum = MyData.Rows.Count + 1; tsProgressBar.Width = 350; tsProgressBar.Step = 1; tsProgressBar.Visible = true; fila0 = MyData.Rows[0]; cedulaRNC = objUtil.GetAsString("EmpresaRNC", fila0).Replace("-", "").Trim(); periodo = objUtil.GetAsString("Periodo", fila0).Trim(); //ABRIMOS EL ARCHIVO objExcel.OpenWorkBook(pathFile); objExcel.SetCellValue("C4", cedulaRNC); objExcel.SetCellValue("C5", periodo); objExcel.SetCellValue("C6", conteo); //objExcel.SetCellValue("C7", totalMonto); tsProgressBar.PerformStep(); //EJECUTAMOS LA MACRO objExcel.RunMacro("'Formato607.cmdDataEntry_Click'"); foreach (DataRow item in MyData.Rows) { Cursor = Cursors.WaitCursor; cedulaRNC = objUtil.GetAsString("CedulaRNC", item).Replace("-", "").Trim(); tipoId = objUtil.GetAsString("Tipo_Identificacion", item).Trim(); ncf = objUtil.GetAsString("NCF", item).Trim(); ncfModificado = objUtil.GetAsString("NCF_Modificado", item).Trim(); fecha = objUtil.GetAsDate("Fecha_Comprobante", item); feComprobante = objUtil.DateToInt(fecha).ToString().Trim(); itbis = objUtil.GetAsDouble("Itbis", item); monto = objUtil.GetAsDouble("Monto", item); objExcel.SetCellValue("B" + lineaNo.ToString(), cedulaRNC); objExcel.SetCellValue("C" + lineaNo.ToString(), tipoId); objExcel.SetCellValue("D" + lineaNo.ToString(), ncf); objExcel.SetCellValue("E" + lineaNo.ToString(), ncfModificado); objExcel.SetCellValue("F" + lineaNo.ToString(), objUtil.GetAsString("Tipo_Ingreso_DGII", item)); objExcel.SetCellValue("G" + lineaNo.ToString(), feComprobante); if (item["Fecha_Retencion"] is DBNull) { objExcel.SetCellValue("H" + lineaNo.ToString(), ""); } else { fecha = objUtil.GetAsDate("Fecha_Retencion", item); objExcel.SetCellValue("H" + lineaNo.ToString(), objUtil.DateToInt(fecha)); } objExcel.SetCellValue("I" + lineaNo.ToString(), monto); objExcel.SetCellValue("J" + lineaNo.ToString(), itbis); objExcel.SetCellValue("K" + lineaNo.ToString(), objUtil.GetAsDouble("Itbis_Retenido", item)); objExcel.SetCellValue("L" + lineaNo.ToString(), objUtil.GetAsDouble("Itbis_Percibido", item)); objExcel.SetCellValue("M" + lineaNo.ToString(), objUtil.GetAsDouble("Retencion_Renta", item)); objExcel.SetCellValue("N" + lineaNo.ToString(), objUtil.GetAsDouble("ISR_Percibido", item)); objExcel.SetCellValue("O" + lineaNo.ToString(), objUtil.GetAsDouble("Impuesto_Selectivo_Consumo", item)); objExcel.SetCellValue("P" + lineaNo.ToString(), objUtil.GetAsDouble("Otros_Impuestos", item)); objExcel.SetCellValue("Q" + lineaNo.ToString(), objUtil.GetAsDouble("Propina_Legal", item)); objExcel.SetCellValue("R" + lineaNo.ToString(), objUtil.GetAsDouble("EnEfectivo", item)); objExcel.SetCellValue("S" + lineaNo.ToString(), objUtil.GetAsDouble("EnChequesODep", item)); objExcel.SetCellValue("T" + lineaNo.ToString(), objUtil.GetAsDouble("EnTarjeta", item)); objExcel.SetCellValue("U" + lineaNo.ToString(), objUtil.GetAsDouble("EnVentaACredito", item)); objExcel.SetCellValue("V" + lineaNo.ToString(), objUtil.GetAsDouble("EnBonos", item)); objExcel.SetCellValue("W" + lineaNo.ToString(), objUtil.GetAsDouble("EnPermuta", item)); objExcel.SetCellValue("X" + lineaNo.ToString(), objUtil.GetAsDouble("EnOtros", item)); tsProgressBar.PerformStep(); lineaNo++; Cursor = Cursors.Default; } objExcel.ShowBook(); } catch (Exception ex) { if (objExcel != null) { objExcel.CloseBook(); } objUtil.MostrarMensajeError(ex.Message); } finally { objExcel = null; Cursor = Cursors.Default; } }
void generarExcel() { int conteo = 0; double porc = 0; object valor = null; string numberFormat = ""; try { //Validamos excel u openoffice deben estar instalado if (util.IsMSExcelIntalled() == false && util.IsOpenOfficeIntalled() == false) { throw new Exception("USTED NO TIENE EXCEL U OPEN OFFICE INSTALADO"); } if (util.IsMSExcelIntalled()) { excel.isOpenOffice = false; Text = "EXPORT TO MS EXCEL"; } else { excel.isOpenOffice = true; Text = "EXPORT TO OPEN OFFICE CALC"; } Cursor = Cursors.WaitCursor; conteo = DTData.Rows.Count; if (titulo.Trim() != "") { conteo += 2; } if (subTitulo1.Trim() != "") { conteo++; } if (subTitulo2.Trim() != "") { conteo++; } if (conteo > 0) { porc = (fila / conteo) * 100; } lblPorcentaje.Text = "0/" + conteo.ToString() + " (0%)"; //En la primera fila se escribe las columnas progressBar1.Minimum = 0; progressBar1.Maximum = conteo; progressBar1.Step = 1; //Abrimos el archivo de excel Cursor = Cursors.WaitCursor; excel.OpenWorkBook(""); //Pasamos las columnas en el encabezado escribirColumnas(); format.bold = false; format.size = 12; format.backGroundColor = Color.Transparent; foreach (DataRow item in DTData.Rows) { Cursor = Cursors.WaitCursor; col = 1; //Debemos hacer un bucle por cada columna foreach (MyColumna myCol in colList) { numberFormat = ""; valor = db.GetValue(myCol.NombreCampo, item); if (db.isString) { numberFormat = "@"; } excel.SetCellValue(fila, col, valor, numberFormat); excel.SetCellFormat(fila, col, format); col++; } //Mostramos el procentaje Cursor = Cursors.Default; progressBar1.PerformStep(); porc = ((fila - 1) / (double)conteo) * 100; lblPorcentaje.Text = (fila - 1).ToString() + "/" + conteo.ToString() + " (" + porc.ToString("N2") + "%)"; fila++; col = 1; DRItem = item; } //Agregamos funcion para sumar if (fila > 2) { addFunctionSum(); } //Agregamos los titulos; escribirTitulos(); //Ajustar tamano de las columnas excel.Autofit(colList.Count); //Mostramos el archivo generado excel.ShowBook(); Close(); } catch (Exception ex) { excel.CloseBook(); Cursor = Cursors.Default; util.MostrarMensajeError(ex.Message); Close(); } }
private void btnBuscarArchivo_Click(object sender, EventArgs e) { string nombreArchivo = ""; string nombre = "", codigo = "", valor = "", marca = "", categoria = ""; double cantidad = 0, costo = 0, precioRegular = 0, precioMinimo = 0, tasaItbis = 0; int I = 2, conteo = 0; OfficeDriver.ExcelDriver excel = new OfficeDriver.ExcelDriver(); bool resultado = true, esInventario = false; try { btnGrabar.Enabled = false; if (temporalID.Trim() == "") { temporalID = objUtil.GetTemporalID(); } else { objDB.LimpiarDetalleTemporal("TTEMPORAL_CLASIFICADOR_PRODUCTOS", temporalID); } DataGridDetalle.DataSource = null; if (opFD.ShowDialog() == DialogResult.OK) { Cursor = Cursors.WaitCursor; nombreArchivo = opFD.FileName; txtNombreArchivo.Text = nombreArchivo; if (cboCargarCon.Text == "MS OFFICE EXCEL") { excel.isOpenOffice = false; } else { excel.isOpenOffice = true; } excel.OpenWorkBook(nombreArchivo); while (resultado) { Cursor = Cursors.WaitCursor; nombre = excel.GetCellValue("A" + I.ToString()).ToString(); codigo = excel.GetCellValue("B" + I.ToString()).ToString(); marca = excel.GetCellValue("C" + I.ToString()).ToString(); categoria = excel.GetCellValue("D" + I.ToString()).ToString(); valor = excel.GetCellValue("E" + I.ToString()).ToString(); cantidad = objUtil.ConvertirANumero(valor); valor = excel.GetCellValue("F" + I.ToString()).ToString(); costo = objUtil.ConvertirANumero(valor); valor = excel.GetCellValue("G" + I.ToString()).ToString(); precioRegular = objUtil.ConvertirANumero(valor); valor = excel.GetCellValue("H" + I.ToString()).ToString(); precioMinimo = objUtil.ConvertirANumero(valor); valor = excel.GetCellValue("I" + I.ToString()).ToString().ToUpper(); if (valor == "1" || valor == "SI" || valor == "S" || valor == "YES" || valor == "Y") { esInventario = false; } else { esInventario = true; } valor = excel.GetCellValue("J" + I.ToString()).ToString().ToUpper(); tasaItbis = objUtil.ConvertirANumero(valor); if (nombre.Trim() == "") { resultado = false; break; } //procedemos a insertar el detalle if (marca.Trim() == "") { marca = "NO MARCA"; } if (categoria.Trim() == "") { categoria = "NO CATEGORIA"; } codigo = codigo.Replace(" ", "").Trim(); SetValorEncabezado("Nombre_Corto", nombre); SetValorEncabezado("Descripcion", nombre); SetValorEncabezado("Codigo_Barra", codigo); SetValorEncabezado("Marca", marca); SetValorEncabezado("Categoria", categoria); SetValorEncabezado("Costo_Ultima_Compra", costo); SetValorEncabezado("EnExistencia", cantidad); SetValorEncabezado("Precio_Minimo", precioMinimo); SetValorEncabezado("Precio_Regular", precioRegular); SetValorEncabezado("EsInventario", esInventario); SetValorEncabezado("Tasa_Itbis", tasaItbis); objDB.Insertar("TTEMPORAL_CLASIFICADOR_PRODUCTOS", "", DSDatos.Tables[0], 0, CamposAExcluirEnc); I++; nombre = ""; Cursor = Cursors.Default; } excel.CloseBook(); objDB.LimpiarFiltros(); objDB.AddFiltroIgualA("IdentificadorTemp", temporalID); objDB.AddFiltroOrderBY("Unico"); DTDetalle = objDB.GetAll("TTEMPORAL_CLASIFICADOR_PRODUCTOS", -1, objDB.Filtros); DataGridDetalle.AutoGenerateColumns = false; DataGridDetalle.DataSource = DTDetalle.DefaultView; conteo = DTDetalle.Rows.Count; btnGrabar.Enabled = (DTDetalle.Rows.Count > 0); } } catch (Exception ex) { objUtil.MostrarMensajeError(ex.Message); } finally { Cursor = Cursors.Default; excel = null; } }
public override void GenerarEXCEL(string titulo = "") { DataRow fila0; string pathFile = ""; string pathPlantilla = ""; string cedulaRNC = ""; string periodo = ""; string ncf = ""; DateTime fecha = DateTime.Now; string feComprobante = ""; string tipoAnulacion; int lineaNo = 12; OfficeDriver.ExcelDriver objExcel = new OfficeDriver.ExcelDriver(); try { if (MyData == null) { return; } if (!objUtil.IsMSExcelIntalled()) { throw new Exception("MICROSOFT EXCEL NO ESTA INSTALADO..."); } Cursor = Cursors.WaitCursor; objExcel.isOpenOffice = false; //Buscamos la Plantilla de excel pathPlantilla = System.Environment.CurrentDirectory + @"\Files\plantilla608.xls"; if (!File.Exists(pathPlantilla)) { pathPlantilla = GetFolderDocGenerados("DGII") + @"\plantilla608.xls"; } if (File.Exists(pathPlantilla)) { pathFile = GetFolderDocGenerados("DGII") + @"\temp_plantilla608.xls"; if (File.Exists(pathFile)) { File.Delete(pathFile); } File.Copy(pathPlantilla, pathFile); } else { objUtil.MostrarMensajeError("NO EXISTE PALNTILLA608.xls"); Cursor = Cursors.Default; return; } tsProgressBar.Value = 0; tsProgressBar.Maximum = MyData.Rows.Count + 1; tsProgressBar.Width = 350; tsProgressBar.Step = 1; tsProgressBar.Visible = true; fila0 = MyData.Rows[0]; cedulaRNC = objUtil.GetAsString("EmpresaRNC", fila0).Replace("-", ""); periodo = objUtil.GetAsString("Periodo", fila0); //ABRIMOS EL ARCHIVO objExcel.OpenWorkBook(pathFile); objExcel.SetCellValue("C5", cedulaRNC); objExcel.SetCellValue("C6", periodo); objExcel.SetCellValue("C7", conteo); tsProgressBar.PerformStep(); //EJECUTAMOS LA MACRO objExcel.RunMacro("'Formato608.cmdDataEntry_Click'"); foreach (DataRow item in MyData.Rows) { Cursor = Cursors.WaitCursor; ncf = objUtil.GetAsString("NCF", item); fecha = objUtil.GetAsDate("Fecha_Comprobante", item); feComprobante = objUtil.DateToInt(fecha).ToString(); tipoAnulacion = objUtil.GetAsString("Tipo_Anulacion", item); objExcel.SetCellValue("B" + lineaNo.ToString(), ncf); objExcel.SetCellValue("D" + lineaNo.ToString(), feComprobante); objExcel.SetCellValue("E" + lineaNo.ToString(), tipoAnulacion); tsProgressBar.PerformStep(); lineaNo++; Cursor = Cursors.Default; } objExcel.ShowBook(); } catch (Exception ex) { if (objExcel != null) { objExcel.CloseBook(); } objUtil.MostrarMensajeError(ex.Message); } finally { objExcel = null; Cursor = Cursors.Default; } }
private void btnBuscarArchivo_Click(object sender, EventArgs e) { string nombreArchivo = ""; string cuentaContable = "", descripcion = "", valor = ""; int oficinaId = 0, I = 2, conteo = 0; double saldo = 0, diferencia = 0; OfficeDriver.ExcelDriver excel = new OfficeDriver.ExcelDriver(); bool resultado = true; try { btnGrabar.Enabled = false; if (temporalID.Trim() == "") { temporalID = objUtil.GetTemporalID(); } else { objDB.LimpiarDetalleTemporal("TTEMPORAL_CONTA_CATALOGO", temporalID); } DataGridDetalle.DataSource = null; if (opFD.ShowDialog() == DialogResult.OK) { Cursor = Cursors.WaitCursor; nombreArchivo = opFD.FileName; txtNombreArchivo.Text = nombreArchivo; Refresh(); if (cboCargarCon.Text == "MS OFFICE EXCEL") { excel.isOpenOffice = false; } else { excel.isOpenOffice = true; } excel.OpenWorkBook(nombreArchivo); while (resultado) { Cursor = Cursors.WaitCursor; cuentaContable = excel.GetCellValue("A" + I.ToString()).ToString(); descripcion = excel.GetCellValue("B" + I.ToString()).ToString(); valor = excel.GetCellValue("C" + I.ToString()).ToString(); int.TryParse(valor, out oficinaId); valor = excel.GetCellValue("D" + I.ToString()).ToString(); saldo = objUtil.ConvertirANumero(valor); if (cuentaContable.Trim() == "") { resultado = false; break; } //procedemos a insertar el detalle cuentaContable = cuentaContable.Replace(" ", "").Trim(); SetValorEncabezado("Cuenta_Contable", cuentaContable); SetValorEncabezado("Empresa_Id", EMPRESA_ID); SetValorEncabezado("Descripcion", descripcion); SetValorEncabezado("Oficina_Id", oficinaId); SetValorEncabezado("Saldo_Actual", saldo); SetValorEncabezado("Adicionado_Por", nombreUsuario); SetValorEncabezado("IdentificadorTemp", temporalID); objDB.Insertar("TTEMPORAL_CONTA_CATALOGO", "", DSDatos.Tables[0], 0, CamposAExcluirEnc); I++; cuentaContable = ""; Cursor = Cursors.Default; } excel.CloseBook(); excel = null; objDB.LimpiarFiltros(); objDB.AddFiltroIgualA("IdentificadorTemp", temporalID); objDB.AddFiltroOrderBY("Cuenta_Contable"); DTDetalle = objDB.GetAll("TTEMPORAL_CONTA_CATALOGO", -1, objDB.Filtros); DataGridDetalle.AutoGenerateColumns = false; DataGridDetalle.DataSource = DTDetalle.DefaultView; diferencia = GetSumDetalle("Saldo_Actual"); conteo = DTDetalle.Rows.Count; lblDiferencia.Text = "Cantidad Registro: " + conteo.ToString("N0") + " Diferencia: " + diferencia.ToString("N2"); btnGrabar.Enabled = (DTDetalle.Rows.Count > 0 && diferencia == 0); } } catch (Exception ex) { objUtil.MostrarMensajeError(ex.Message); } finally { Cursor = Cursors.Default; excel = null; } }