如何在电子表格范围(Aspose Cells)中添加边框?

我想在电子表格的范围内添加边框。 基于这里的一些VB代码,我试过这个:

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); 

…但是它将大部分数据推送到工作表中,如下所示:

在这里输入图像说明

…和这里:

在这里输入图像说明

在添加这些边界之前,这是表单的样子。

在这里输入图像说明

实际上,我也需要内在的边界,而不仅仅是边缘,而是第一件事。

顺便说一句,这似乎是一个非常“昂贵”的操作 – 报告花费了更长的时间来生成这个borderizing代码添加。

UPDATE

我能够更好地工作,但它仍然搞乱我的格式。 有了这个代码:

 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); } 

…我得到一个边框,不把数据放在表单上:

在这里输入图像说明

但是当我看到这个范围是无边的,

在这里输入图像说明

我怎样才能得到我的边界,并保留我的格式呢?

您将代码应用到一个范围的大纲边界是正确的,因为我已经testing了与最新版本的Aspose.Cells for .NET 17.1.0(可通过NuGet和Aspose下载部分)。 请注意,设置轮廓边框不应干扰单元格的现有格式,因为Range.SetOutlineBorder只能在边框上操作,但是如果您希望将边框应用于范围中的每个单独单元格,现有格式可以被覆盖。

我将在Aspose.Cells支持论坛中创build的线程上发布示例代码以及input和输出电子表格,并且虚心地请求您在Aspose.Cells支持论坛中分享您的input电子表格以及可执行代码段,以便进一步在问题依然存在的情况下进行调查。

 var book = new Workbook(dataDir + "book1.xlsx"); var sheet = book.Worksheets[0]; var range = sheet.Cells.MaxDisplayRange; //Setting outline border to range 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); book.Save(dataDir + "output.xlsx"); 

注意:我在Aspose作为Developer Evangelist工作。