示例#1
0
        public void exportarRehacer(string archivo, DataSets.Embarques.GenerarTXTRehacerDataTable txtDT, bool EsProveedores, decimal peso)
        {
            string linea = "";

            int bultos = 0;

            for (int i = 0; i < txtDT.Rows.Count; i++)
            {
                bultos += Convert.ToInt32(txtDT[i]["bultos"]);
            }

            using (StreamWriter sw = new StreamWriter(archivo, true))
            {
                for (int i = 0; i < txtDT.Rows.Count; i++)
                {
                    linea = FormatoCampoEspacios(Convert.ToDateTime(txtDT[i]["FechaRecibo"]).ToString("yyyy-MM-dd"), 11, TextAlignment.Left) +
                            FormatoCampoCeros(Convert.ToString(txtDT[i]["ProveedorId"]), 5, TextAlignment.Right) + " " +
                            FormatoCampoEspacios(Convert.ToString(txtDT[i]["FacturaProveedor"]), 16, TextAlignment.Left) +
                            FormatoCampoEspacios(Convert.ToString(txtDT[i]["Id"]), 7, TextAlignment.Left) +
                            FormatoCampoEspacios(FormatoCampoCeros(Convert.ToString(txtDT[i]["RenglonId"]), 3, TextAlignment.Right), 4, TextAlignment.Left) +
                            FormatoCampoEspacios(Convert.ToString(txtDT[i]["NumeroParte"]), 16, TextAlignment.Left) +
                            FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(txtDT[i]["CantidadRecibida"]), 12, 2, TextAlignment.Right), 13, TextAlignment.Left) +
                            FormatoCampoEspacios(Convert.ToString(txtDT[i]["UnidadMedida"]), 3, TextAlignment.Left);


                    //parte del peso
                    if (!EsProveedores) //archivo global
                    {
                        if (i == 0)
                        {
                            linea +=
                                FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(peso), 17, 8, TextAlignment.Right), 18, TextAlignment.Left) +
                                FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(peso), 17, 8, TextAlignment.Right), 18, TextAlignment.Left);
                        }
                        else
                        {
                            linea +=
                                FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(0), 17, 8, TextAlignment.Right), 18, TextAlignment.Left) +
                                FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(0), 17, 8, TextAlignment.Right), 18, TextAlignment.Left);
                        }
                    }
                    else //SI es el archivo de proveedor
                    {
                        linea +=
                            FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(txtDT[i]["Peso"]), 17, 8, TextAlignment.Right), 18, TextAlignment.Left) +
                            FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(txtDT[i]["Peso"]), 17, 8, TextAlignment.Right), 18, TextAlignment.Left);
                    }

                    string pais = Convert.ToString(txtDT[i]["Pais"]);
                    if (pais.Length > 2)
                    {
                        pais = pais.Substring(0, 2);
                    }

                    linea +=
                        //FormatoCampoEspacios(Convert.ToString(txtDT[i]["Pais"]).Substring(0, 2), 7, TextAlignment.Left) +
                        FormatoCampoEspacios(Convert.ToString(pais), 7, TextAlignment.Left) +
                        FormatoCampoEspacios(Convert.ToString(txtDT[i]["Moneda"]), 4, TextAlignment.Left);

                    //Cantidad de bultos solo en primer renglon
                    if (i == 0)
                    {
                        linea += FormatoCampoEspacios(FormatoCampoCeros(bultos.ToString(), 9, TextAlignment.Right), 10, TextAlignment.Left);
                    }
                    else
                    {
                        linea += FormatoCampoEspacios(FormatoCampoCeros("0", 9, TextAlignment.Right), 10, TextAlignment.Left);
                    }

                    if (i == 0)
                    {
                        linea +=
                            FormatoCampoEspacios(Convert.ToString(txtDT[i]["Bu1"]), 5, TextAlignment.Left) +
                            FormatoCampoEspacios(Convert.ToString(txtDT[i]["Bu2"]), 5, TextAlignment.Left);
                    }
                    else
                    {
                        linea +=
                            FormatoCampoEspacios(Convert.ToString(""), 5, TextAlignment.Left) +
                            FormatoCampoEspacios(Convert.ToString(""), 5, TextAlignment.Left);
                    }

                    linea +=
                        FormatoCampoEspacios(Convert.ToString(txtDT[i]["NumeroPaleta"]), 42, TextAlignment.Left);



                    if (EsProveedores)
                    {
                        linea += FormatoCampoEspacios(Convert.ToString(txtDT[i]["NoGuia"]), 41, TextAlignment.Left) +
                                 FormatoCampoEspacios(Convert.ToString(txtDT[i]["EmbarquePlanta"]), 8, TextAlignment.Left); //consecutivo + nombrepaleta
                        //   FormatoCampoEspacios(Convert.ToString(txtDT[i]["Tarima"]), 42, TextAlignment.Left);
                        //aqui debe de ir el nombre dde la tabla

                        //   FormatoCampoEspacios(Convert.ToString(txtDT[i]["NoGuia"]), txtDT[i]["NoGuia"].ToString().Length, TextAlignment.Left);
                    }
                    else
                    {
                        linea += FormatoCampoEspacios(Convert.ToString(txtDT[i]["NoGuia"]), txtDT[i]["NoGuia"].ToString().Length, TextAlignment.Left);
                    }

                    sw.WriteLine(linea);
                }
            }
        }
示例#2
0
        public void exportarRehacer(string archivo, DataSets.Embarques.GenerarTXTRehacerDataTable txtDT, bool EsProveedores, decimal peso)
        {
            int i = 0;

            Excel.Application oExcel = new Excel.Application();

            Excel.Workbook oLibro;

            Excel.Worksheet oHoja;


            oExcel.Visible       = false;
            oExcel.DisplayAlerts = false;

            oLibro = oExcel.Workbooks.Add(1);
            oHoja  = (Excel.Worksheet)oLibro.Sheets[1];

            int bultos = 0;

            for (int x = 0; x < txtDT.Rows.Count; x++)
            {
                bultos += Convert.ToInt32(txtDT[x]["bultos"]);
            }

            int columns = txtDT.Columns.Count;
            int rows    = txtDT.Rows.Count;

            for (int rowNumber = 0; rowNumber < rows; rowNumber++)
            {
                for (int columnNumber = 0; columnNumber < columns; columnNumber++)
                {
                    oHoja.Cells[rowNumber + 1, 1] = Convert.ToDateTime(txtDT.Rows[rowNumber]["FechaRecibo"]).ToString("yyyy-MM-dd");
                    oHoja.Cells[rowNumber + 1, 2] = txtDT.Rows[rowNumber]["ProveedorId"];
                    oHoja.Cells[rowNumber + 1, 3] = txtDT.Rows[rowNumber]["FacturaProveedor"];
                    oHoja.Cells[rowNumber + 1, 4] = txtDT.Rows[rowNumber]["Id"];
                    oHoja.Cells[rowNumber + 1, 5] = txtDT.Rows[rowNumber]["RenglonId"];
                    oHoja.Cells[rowNumber + 1, 6] = txtDT.Rows[rowNumber]["NumeroParte"];
                    oHoja.Cells[rowNumber + 1, 7] = txtDT.Rows[rowNumber]["CantidadRecibida"];
                    oHoja.Cells[rowNumber + 1, 8] = txtDT.Rows[rowNumber]["UnidadMedida"];

                    if (!EsProveedores) //archivo global
                    {
                        if (rowNumber == 0)
                        {
                            oHoja.Cells[rowNumber + 1, 9]  = Convert.ToString(peso);
                            oHoja.Cells[rowNumber + 1, 10] = Convert.ToString(peso);
                        }
                        else
                        {
                            oHoja.Cells[rowNumber + 1, 9]  = Convert.ToString(0);
                            oHoja.Cells[rowNumber + 1, 10] = Convert.ToString(0);
                        }
                    }
                    else //SI es el archivo de proveedor
                    {
                        oHoja.Cells[rowNumber + 1, 9]  = Convert.ToString(txtDT[rowNumber]["Peso"]);
                        oHoja.Cells[rowNumber + 1, 10] = Convert.ToString(txtDT[rowNumber]["Peso"]);
                    }

                    string pais = Convert.ToString(txtDT[rowNumber]["Pais"]);
                    if (pais.Length > 2)
                    {
                        pais = pais.Substring(0, 2);
                    }

                    oHoja.Cells[rowNumber + 1, 11] = Convert.ToString(pais);
                    oHoja.Cells[rowNumber + 1, 12] = Convert.ToString(txtDT[rowNumber]["Moneda"]);

                    //Cantidad de bultos solo en primer renglon
                    if (rowNumber == 0)
                    {
                        oHoja.Cells[rowNumber + 1, 13] = bultos.ToString();
                    }
                    else
                    {
                        oHoja.Cells[rowNumber + 1, 13] = "0";
                    }

                    if (rowNumber == 0)
                    {
                        oHoja.Cells[rowNumber + 1, 14] = Convert.ToString(txtDT[rowNumber]["Bu1"]);
                        oHoja.Cells[rowNumber + 1, 15] = Convert.ToString(txtDT[rowNumber]["Bu2"]);
                    }
                    else
                    {
                        oHoja.Cells[rowNumber + 1, 14] = Convert.ToString("");
                        oHoja.Cells[rowNumber + 1, 15] = Convert.ToString("");
                    }

                    oHoja.Cells[rowNumber + 1, 16] = Convert.ToString(txtDT[rowNumber]["NumeroPaleta"]);

                    if (EsProveedores)
                    {
                        oHoja.Cells[rowNumber + 1, 17] = Convert.ToString(txtDT[rowNumber]["NoGuia"]);
                        oHoja.Cells[rowNumber + 1, 18] = Convert.ToString(txtDT[rowNumber]["EmbarquePlanta"]); //consecutivo + nombrepaleta

                        //aqui debe de ir el nombre dde la tabla
                    }
                    else
                    {
                        oHoja.Cells[rowNumber + 1, 17] = Convert.ToString(txtDT[rowNumber]["NoGuia"]);
                    }

                    //FIN DE CICLO
                }
            }

            oHoja.get_Range("Q1", "Q6500").NumberFormat = "0";

            oLibro.SaveAs(archivo, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
                          false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                          Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);


            oLibro.Close(true, true, Type.Missing);

            // Eliminamos lo que hemos creado

            oExcel.Quit();

            oExcel = null;

            oLibro = null;

            oHoja = null;
            System.GC.Collect();
        }