Esempio n. 1
0
        private bool LeggiExcel(string filePath, string utente, TipoExcel tipoExcel, out string messaggioErrore)
        {
            messaggioErrore = string.Empty;
            using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite))
            {
                MemoryStream ms   = new MemoryStream();
                byte[]       dati = new byte[fs.Length];
                fs.Read(dati, 0, (int)fs.Length);

                ExcelHelper excel = new ExcelHelper();

                switch (tipoExcel)
                {
                case TipoExcel.IdMagazz:
                    if (!excel.LeggiFileExcelTipoIDMAGAZ(fs, _ds, out messaggioErrore))
                    {
                        messaggioErrore = "Errore nella lettura del file " + messaggioErrore;
                        return(false);
                    }
                    PulisciDataset();
                    if (!EstraiAnagrafiche(out messaggioErrore))
                    {
                        messaggioErrore = "Errore nell'estrazione delle anagrafiche dal file " + messaggioErrore;
                        return(false);
                    }

                    List <Ciclo> cicli = new List <Ciclo>();
                    if (!PreparaCicli(out messaggioErrore, out cicli))
                    {
                        messaggioErrore = "Errore nell'estrazione dei cicli dal file " + messaggioErrore;
                        return(false);
                    }

                    List <Distinta> distinte = new List <Distinta>();
                    if (!PreparaDistinte(out messaggioErrore, out distinte))
                    {
                        messaggioErrore = "Errore nell'estrazione delle distinte dal file " + messaggioErrore;
                        return(false);
                    }

                    break;

                case TipoExcel.RVL:
                    if (!excel.AggiungiColonneExcelDibaRVL(_ds, fs, out messaggioErrore))
                    {
                        messaggioErrore = messaggioErrore + "Errore nella modifica del file ";
                        return(false);
                    }
                    break;

                default:
                    break;
                }

                fs.Flush();
                fs.Close();
            }
            return(true);
        }
  public override ProductoExcel FactoryMethod(TipoExcel tipo) {
    switch (tipo) {
      case TipoExcel.XLS:
        return new ExcelAntiguo();
      case TipoExcel.XLXS:
        return new ExcelNuevo();
      case TipoExcel.CSV:
        return new ExcelCsv();
      default:
        return new ExcelAntiguo();
    }
	}
Esempio n. 3
0
        public static void GerarExcel(TipoExcel tipoExcel)
        {
            // Conteudo
            var items = new List <Pessoa> {
                new Pessoa {
                    Id = "1", Nome = "Rafael jose"
                }, new Pessoa {
                    Id = "2", Nome = "Thayani da Silva"
                }
            };

            //Tipo de Arquivo Excel
            var workbook = (IWorkbook)null;

            //planilha dentro do excel
            var sheet = (ISheet)null;

            // Definir nome do cabeçalho que sera definido na primeira linha do Excel
            var headers = new[] { "Id", "Nome" };

            // Definir nome da coluna que esse nome da coluna usa para buscar dados da lista
            var columns = new[] { "Id", "Nome" };

            //diretorio onde sera criado a planilha
            string filePath = "teste_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "." + tipoExcel.ToString();

            if (tipoExcel == TipoExcel.xlsx)
            {
                // Declara o objeto XSSFWorkbook para criar o sheet
                workbook = new XSSFWorkbook();
            }
            else
            {
                // Declara o objeto HSSFWorkbook para criar o sheet
                workbook = new HSSFWorkbook();
            }

            sheet = workbook.CreateSheet("NomeMinhaPlanilha");

            var headerRow = sheet.CreateRow(0);

            // O loop abaixo é criar cabecalho
            for (int i = 0; i < columns.Length; i++)
            {
                var cell = headerRow.CreateCell(i);
                cell.SetCellValue(headers[i]);
            }

            // O loop abaixo é o conteúdo de preenchimento
            for (int i = 0; i < items.Count; i++)
            {
                var rowIndex = i + 1;
                var row      = sheet.CreateRow(rowIndex);

                for (int j = 0; j < columns.Length; j++)
                {
                    var cell = row.CreateCell(j);
                    var o    = items[i];
                    cell.SetCellValue(o.GetType().GetProperty(columns[j]).GetValue(o, null).ToString());
                }
            }

            // Criar o Arquivo
            FileStream file = File.Create(filePath);

            workbook.Write(file);
            file.Close();
        }
Esempio n. 4
0
	public abstract ProductoExcel FactoryMethod(TipoExcel tipo);
Esempio n. 5
0
        private void btnApri_Click(object sender, EventArgs e)
        {
            TipoExcel tipoExcel = TipoExcel.Sconosciuto;

            try
            {
                Cursor.Current  = Cursors.WaitCursor;
                btnApri.Enabled = false;

                txtRisultati.Text = string.Empty;
                if (string.IsNullOrEmpty(txtFile.Text))
                {
                    txtRisultati.Text = "Selezionare un file";
                    return;
                }

                if (!File.Exists(txtFile.Text))
                {
                    txtRisultati.Text = "Il file specificato non esiste";
                    return;
                }


                ExcelHelper excel = new ExcelHelper();
                tipoExcel = excel.IdentificaTipoFIleExcelneExcelDibaRVL(txtFile.Text);
                string nomefile = txtFile.Text;

                if (tipoExcel == TipoExcel.RVL)
                {
                    FileInfo fi = new FileInfo(txtFile.Text);
                    nomefile = fi.FullName.Replace(fi.Extension, string.Empty);
                    nomefile = string.Format("{0} v1.0{1}", nomefile, fi.Extension);

                    if (File.Exists(nomefile))
                    {
                        File.Delete(nomefile);
                    }
                    File.Copy(txtFile.Text, nomefile);
                    CaricaMagazz();
                }

                CaricaBC_Anagrafica();
                string messaggioErrore;
                if (!LeggiExcel(nomefile, Contesto.Utente.FULLNAMEUSER, tipoExcel, out messaggioErrore))
                {
                    string messaggio = string.Format("Errore nel caricamento del file excel. Errore: {0}", messaggioErrore);
                    MessageBox.Show(messaggio, "ERRORE LETTURA FILE", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                MessageBox.Show("Operazione completata", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (Exception ex)
            {
                ScriviLogErrore("ERRORE");
                ExceptionFrm frm = new ExceptionFrm(ex);
                frm.ShowDialog();
            }
            finally
            {
                switch (tipoExcel)
                {
                case TipoExcel.IdMagazz:
                    txtRisultati.Text = "FILE DI TIPO IDMAGAZZ";
                    break;

                case TipoExcel.RVL:
                    txtRisultati.Text = "FILE DI TIPO RVL";
                    break;

                case TipoExcel.Sconosciuto:
                    txtRisultati.Text = "FILE DI TIPO SCONOSCIUTO";
                    break;
                }
                btnApri.Enabled = true;
                Cursor.Current  = Cursors.Default;
            }
        }