【发布时间】:2017-01-13 13:34:30
【问题描述】:
我想为电子表格的某个范围添加边框。基于一些VB代码here,我尝试了这个:
Range range = locationWorksheet.Cells.CreateRange(7, 0, 93, 6);
range.SetOutlineBorder(BorderType.TopBorder, CellBorderType.Thick, Color.Blue);
range.SetOutlineBorder(BorderType.BottomBorder, CellBorderType.Thick, Color.Blue);
range.SetOutlineBorder(BorderType.LeftBorder, CellBorderType.Thick, Color.Blue);
range.SetOutlineBorder(BorderType.RightBorder, CellBorderType.Thin, Color.Red);
...但它会将大部分数据向下推送,如下所示:
...这里:
这是添加这些边框之前工作表的样子。
实际上,我也想要内部边框,不仅仅是边缘,而是首要任务。
顺便说一句,这似乎也是一个非常“昂贵”的操作 - 添加边界代码后生成报告需要更长的时间。
更新
我能够让它更好地工作,但它仍然弄乱了我的格式。使用此代码:
private void BorderizeDataPortionOfLocationSheet()
{
int FUDGE_FACTOR = 5;
int rowsUsed = locationWorksheet.Cells.Rows.Count + FUDGE_FACTOR;
int colsUsed = locationWorksheet.Cells.Columns.Count; //QTY_COL; // last column
string rangeBegin = RoboReporterConstsAndUtils.GetRangeLettersNumbersAsStr(1, 8);
string rangeEnd = RoboReporterConstsAndUtils.GetRangeLettersNumbersAsStr(6, rowsUsed);
Range entireSheetRange = locationWorksheet.Cells.CreateRange(rangeBegin, rangeEnd);
CellsFactory cf = new CellsFactory();
Style style = cf.CreateStyle();
entireSheetRange.SetStyle(style);
entireSheetRange.SetOutlineBorders(CellBorderType.Thin, Color.Black);
}
...我得到的边框不会将数据推送到工作表中:
但是当范围是无边界时,它 86ed 我的漂亮格式,你可以在这里看到:
如何获得边框并保留我的格式?
【问题讨论】:
标签: excel border aspose aspose-cells