J'ai le code suivant pour ajouter des bordures à une ligne:Pourquoi les bordures ne sont-elles pas appliquées à ma rangée supérieure (cellules Aspose)?
Range _range;
_range = customerWorksheet.Cells.CreateRange("A1", "P1");
_range.SetOutlineBorders(CellBorderType.Hair, Color.Black);
... mais il ne fonctionne pas - pas de frontières apparaissent sur cette ligne supérieure (ligne « 1 »):
Pourquoi pas, et comment puis-je ajouter ces bordures, comme cela est fait pour le reste de la feuille?
Voici un extrait de code pour cette ligne supérieure, montrant comment une cellule est ajouté:
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 frontières sont ajoutées à la partie de données de la feuille (théoriquement, il devrait fonctionner pour la rangée du haut, aussi, sans que la tentative ci-dessus soit même nécessaire):
private void BorderizeDataPortionOfCustomerSheet()
{
int rowsUsed = customerWorksheet.Cells.Rows.Count;
int colsUsed = SHIPVARIANCE_COL;
string bottomRightRange = string.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);
}
J'ai ajouté le code "again" car le premier ne fonctionnait pas: pas de bolding, pas d'alignement à gauche, pas de coloration de fond. Mais toutes ces choses fonctionnent maintenant. La frontière n'est pas, cependant ... pourquoi pas? La bordure précédente a été faite pour la feuille entière, qui a fonctionné - jusqu'à ce que je reformaté cette première rangée, puisque la première tentative ne fonctionnait pas. –