Pourquoi les bordures ne sont-elles pas appliquées à ma rangée supérieure (Aspose Cells)?

J'ai le code suivant pour append des bordures à une ligne:

Range _range; _range = customerWorksheet.Cells.CreateRange("A1", "P1"); _range.SetOutlineBorders(CellBorderType.Hair, Color.Black); 

… mais ça ne fonctionne pas – aucune bordure n'apparaît sur cette rangée supérieure (ligne "1"):

entrez la description de l'image ici

Pourquoi pas, et comment puis-je append ces bordures, car elles sont faites pour le rest de la feuille?

Voici un extrait de code pour cette rangée supérieure, montrant comment une cellule est ajoutée:

 Cell PAItemCell = customerWorksheet.Cells[rowToPopulate, PAITEMCODE_COL]; PAItemCell.PutValue(frbdbc.PAItemCode, true); var paiStyle = PAItemCell.GetStyle(); paiStyle.Font.Name = fontForSheets; paiStyle.IsTextWrapped = false; PAItemCell.SetStyle(paiStyle); 

Et voici comment les bordures sont ajoutées à la partie de données de la feuille (en théorie, elle devrait également fonctionner pour la ligne supérieure, sans que la tentative ci-dessus soit nécessaire):

 private void BorderizeDataPortionOfCustomerSheet() { int rowsUsed = customerWorksheet.Cells.Rows.Count; int colsUsed = SHIPVARIANCE_COL; ssortingng bottomRightRange = ssortingng.Format("P{0}", rowsUsed); var range = customerWorksheet.Cells.CreateRange("A1", bottomRightRange); //Setting border for each cell in the range var style = workBook.CreateStyle(); style.SetBorder(BorderType.BottomBorder, CellBorderType.Thin, Color.Black); style.SetBorder(BorderType.LeftBorder, CellBorderType.Thin, Color.Black); style.SetBorder(BorderType.RightBorder, CellBorderType.Thin, Color.Black); style.SetBorder(BorderType.TopBorder, CellBorderType.Thin, Color.Black); for (int r = range.FirstRow; r < range.RowCount; r++) { for (int c = range.FirstColumn; c < range.ColumnCount; c++) { Cell cell = customerWorksheet.Cells[r, c]; cell.SetStyle(style, new StyleFlag() { TopBorder = true, BottomBorder = true, LeftBorder = true, RightBorder = true }); } } //Setting outline border to range range.SetOutlineBorder(BorderType.TopBorder, CellBorderType.Thin, Color.Black); range.SetOutlineBorder(BorderType.BottomBorder, CellBorderType.Thin, Color.Black); range.SetOutlineBorder(BorderType.LeftBorder, CellBorderType.Thin, Color.Black); range.SetOutlineBorder(BorderType.RightBorder, CellBorderType.Thin, Color.Black); customerWorksheet.FreezePanes(FIRST_DATA_ROW, SHORTNAME_COL, rowsUsed, colsUsed); } 

Il semble que vous mélangez les choses. Eh bien, si vous appliquez la ligne de bordure à une plage "A1: P1" dans votre code au premier endroit, alors si vous appliquez de nouveau style / formatting aux cellules ou spécifiez les bordures de contour pour la plage (y compris la première rangée aussi bien ) à nouveau, il replaceait certainement le formatting existant que vous avez appliqué précédemment. Alors, veuillez vous assurer que vous avez bien écrit votre code et que les deux segments de code n'interfèrent pas les formations des autres.

Je travaille comme développeur de support / évangélist chez Aspose.