public void TestMethod1() { var app = new OpenXmlApplication(); var dic = new Dictionary <string, List <TesteClass> > { { "serviços", new List <TesteClass> { new TesteClass { Nome = "will", Idade = 40 }, new TesteClass { Nome = "gi", Idade = 39 } } }, { "saúde", new List <TesteClass> { new TesteClass { Nome = "joao", Idade = 20 }, new TesteClass { Nome = "maria", Idade = 21 }, new TesteClass { Nome = "carlos", Idade = 99 } } }, { "contas a pagar", new List <TesteClass> { new TesteClass { Nome = "jas", Idade = 20 }, new TesteClass { Nome = "josé", Idade = 21 }, new TesteClass { Nome = "não sei", Idade = 99 } } } }; app.WriteExcelDocument(@"c:\tmp\will.xlsx", dic); }
public void ExportExcel(string filePath) { var excelApp = new OpenXmlApplication(); //container.GetInstance<IExcelDocumentService>(); var dados = excelApp.OpenExcelDocument(filePath).ReadExcelDocument <DebitoData>(0, true); var minDate = dados.Select(d => d.Data).Min(); var lstEstabelecimentos = _dominioRepository.List <Estabelecimento>(); var extraDatas = _dominioRepository.FindBy <ClassificacaoExtra>(x => x.DataInicio >= minDate); var arquivos = new Dictionary <string, CSVFile>(); DeleteFolderCSVFiles(filePath); foreach (var item in dados) { var extraData = extraDatas.Where(x => x.DataInicio <= item.Data && x.DataFim >= item.Data).FirstOrDefault(); var estab = lstEstabelecimentos.FirstOrDefault(e => Regex.IsMatch(item.Local.Replace("*", string.Empty).ToUpper(), e.PalavraChave.ToUpper().LikeToRegular())); if (extraData != null) { item.Local = string.Concat(extraData.Prefixo, item.Local); } if (estab == null) { estab = new Estabelecimento { Classificacao = extraData != null ? extraData.Classificacao : new TipoDominio { Descricao = "DESCONHECIDO" } } } ; if (!arquivos.ContainsKey(estab.Classificacao.Descricao)) { var tmpSb = new CSVFile(); arquivos.Add(estab.Classificacao.Descricao, tmpSb); } var csvData = arquivos[estab.Classificacao.Descricao]; csvData.AppendLine(item); } Array.ForEach(arquivos.ToArray(), a => a.Value.Save(Path.Combine(@"c:\tmp", string.Concat(a.Key, ".csv")))); excelApp.CloseExcelDocument(); }