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(); } }
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(); }
public abstract ProductoExcel FactoryMethod(TipoExcel tipo);
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; } }