Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.3K
Visualizações
EPPlus: ¿cómo puedo asignar un borde alrededor de cada celda después de aplicar LoadFromCollection?

En mi exportación ActionResult pude cargar el modelo en mi ExcelPackage.

Donde tengo problemas es asignar un borde alrededor de cada celda una vez que se aplica LoadFromCollection . Si bien AutoFitColumns se aplica correctamente, el estilo de borde que apliqué solo funciona en Cells["D1"] , pero no en la tabla.

BorderAround coloca con éxito un borde alrededor de toda la tabla, pero prefiero aplicar el borde a las celdas dentro de la tabla. ¿Hay alguna manera de que pueda hacer eso?

 // Fill worksheet with data to export var modelCells = worksheet.Cells["D1"]; var border = modelCells.Style.Border.Top.Style = modelCells.Style.Border.Left.Style = modelCells.Style.Border.Right.Style = modelCells.Style.Border.Bottom.Style = ExcelBorderStyle.Medium; modelCells .LoadFromCollection(Collection: exportQuery, PrintHeaders: true) .AutoFitColumns();
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Si sé la cantidad de columnas que tiene el modelo, puedo contar la cantidad de filas con una función y hacer esto:

 var modelRows = exportQuery.Count()+1; string modelRange = "D1:F" + modelRows.ToString(); var modelTable = worksheet.Cells[modelRange];

O, con más contexto. Verifiqué que EPPlus aceptará una variable de cadena en Cells[], lo que me permite seleccionar toda la tabla y aplicar mi estilo de borde y AutoFitColumns{} correctamente. Todo lo que tengo que hacer manualmente es ingresar la columna inicial y la columna final en la variable modelRange .

 var modelCells = worksheet.Cells["D1"]; var modelRows = exportQuery.Count()+1; string modelRange = "D1:F" + modelRows.ToString(); var modelTable = worksheet.Cells[modelRange]; // Assign borders modelTable.Style.Border.Top.Style = ExcelBorderStyle.Thin; modelTable.Style.Border.Left.Style = ExcelBorderStyle.Thin; modelTable.Style.Border.Right.Style = ExcelBorderStyle.Thin; modelTable.Style.Border.Bottom.Style = ExcelBorderStyle.Thin; // Fill worksheet with data to export modelCells.LoadFromCollection(Collection: exportQuery, PrintHeaders: true); modelTable.AutoFitColumns();
over 4 years ago · Santiago Trujillo Relatório

0

Esto hará el truco: hoja de trabajo.Celdas[hoja de trabajo.Dimensión.Dirección]

 using (ExcelPackage excel = new ExcelPackage()) { excel.Workbook.Worksheets.Add(sheetName); excel.SaveAs(excelFile); string headerRange = "A1:" + char.ConvertFromUtf32(dtJobs.Columns.Count + 64) + "1"; // Target a worksheet var worksheet = excel.Workbook.Worksheets[sheetName]; #region design Header //worksheet.Cells[headerRange].Style.Font.Bold = true; worksheet.Cells[headerRange].Style.Font.Size = 11; worksheet.Cells[headerRange].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheet.Cells[headerRange].Style.Fill.BackgroundColor.SetColor(Color.DarkGray); //worksheet.Cells[headerRange].Style.WrapText = true; worksheet.Cells[headerRange].Style.Font.Color.SetColor(Color.White); worksheet.Cells[headerRange].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheet.Cells[headerRange].Style.VerticalAlignment = ExcelVerticalAlignment.Center; #endregion var excelWorksheet = excel.Workbook.Worksheets[sheetName]; excelWorksheet.Cells[excelWorksheet.Dimension.End.Row, 1].LoadFromDataTable(dtJobs, true); worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns(); worksheet.Cells[worksheet.Dimension.Address].Style.Border.Top.Style = ExcelBorderStyle.Thin; worksheet.Cells[worksheet.Dimension.Address].Style.Border.Left.Style = ExcelBorderStyle.Thin; worksheet.Cells[worksheet.Dimension.Address].Style.Border.Right.Style = ExcelBorderStyle.Thin; worksheet.Cells[worksheet.Dimension.Address].Style.Border.Bottom.Style = ExcelBorderStyle.Thin; excel.SaveAs(excelFile); return filePath; }
over 4 years ago · Santiago Trujillo Relatório

0

 var package = new ExcelPackage(new MemoryStream()); var ws = package.Workbook.Worksheets.Add("Test"); var modelTable = ws.Cells; modelTable.Style.Border.Top.Style = ExcelBorderStyle.Thin; modelTable.Style.Border.Left.Style = ExcelBorderStyle.Thin; modelTable.Style.Border.Right.Style = ExcelBorderStyle.Thin; modelTable.Style.Border.Bottom.Style = ExcelBorderStyle.Thin; modelTable.AutoFitColumns(); // calculate ws.Calculate(); saveFileDialog_SaveExcel.Filter = "Excel files (*.xlsx)|*.xlsx"; var dialogResult = saveFileDialog_SaveExcel.ShowDialog(); if (dialogResult == DialogResult.OK) { package.SaveAs(new FileInfo(saveFileDialog_SaveExcel.FileName)); }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda