找回密码
 立即注册

QQ登录

只需一步,快速开始

jerrychen3168
金牌服务用户   /  发表于:2024-12-16 14:54  /   查看:53  /  回复:1
1金币
本帖最后由 Wilson.Zhang 于 2024-12-16 15:54 编辑

你好,

想詢問,當我選取一个範圍的單元格,如何讓迭取的範圍外圍套用線條样式
目前寫法如下, 但这样寫連中間的線條都套用了,僅希望外圍框線套用.


var activeSheet = spread.getActiveSheet();
                    var selectedRanges = activeSheet.getSelections();
                    selectedRanges.forEach(range => {
                        activeSheet.getRange(range.row, range.col, range.rowCount, range.colCount, GC.Spread.Sheets.SheetArea.viewport).borderLeft(new GC.Spread.Sheets.LineBorder(ls_color_name, GC.Spread.Sheets.LineStyle.medium));
                        activeSheet.getRange(range.row, range.col, range.rowCount, range.colCount, GC.Spread.Sheets.SheetArea.viewport).borderRight(new GC.Spread.Sheets.LineBorder(ls_color_name, GC.Spread.Sheets.LineStyle.medium));
                        activeSheet.getRange(range.row, range.col, range.rowCount, range.colCount, GC.Spread.Sheets.SheetArea.viewport).borderTop(new GC.Spread.Sheets.LineBorder(ls_color_name, GC.Spread.Sheets.LineStyle.medium));
                        activeSheet.getRange(range.row, range.col, range.rowCount, range.colCount, GC.Spread.Sheets.SheetArea.viewport).borderBottom(new GC.Spread.Sheets.LineBorder(ls_color_name, GC.Spread.Sheets.LineStyle.medium));
                    });


image.png522885741.png

1 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-12-16 15:53:43
沙发
您好!對於一塊被選中的單元格區域,作爲一個整體,其上邊框為其内部首行所有單元格的上邊框組成,下邊框為其内部末行所有單元格的下邊框組成,左邊框為其内部首列所有單元格的左邊框組成,右邊框為其内部末列所有右邊框組成。

因此,要針對單元格區域的上下左右邊框分別設置,如下動圖所示:
单元格区域设置外边框.gif

可以參考如下代碼:
  1. var ls_color_name = 'black';
  2. var selectedRanges = sheet.getSelections();
  3. selectedRanges.forEach(range => {
  4.     //  設置單元格區域的左邊框
  5.     sheet.getRange(range.row, range.col, range.rowCount, 1, GC.Spread.Sheets.SheetArea.viewport)
  6.         .borderLeft(new GC.Spread.Sheets.LineBorder(ls_color_name, GC.Spread.Sheets.LineStyle.medium));
  7.     //  設置單元格區域的有邊框
  8.     sheet.getRange(range.row, range.col + range.colCount - 1, range.rowCount, 1, GC.Spread.Sheets.SheetArea.viewport)
  9.         .borderRight(new GC.Spread.Sheets.LineBorder(ls_color_name, GC.Spread.Sheets.LineStyle.medium));
  10.     //  設置單元格區域的上邊框
  11.     sheet.getRange(range.row, range.col, 1, range.colCount, GC.Spread.Sheets.SheetArea.viewport)
  12.         .borderTop(new GC.Spread.Sheets.LineBorder(ls_color_name, GC.Spread.Sheets.LineStyle.medium));
  13.     //  設置單元格區域的下邊框
  14.     sheet.getRange(range.row + range.rowCount - 1, range.col, 1, range.colCount, GC.Spread.Sheets.SheetArea.viewport)
  15.         .borderBottom(new GC.Spread.Sheets.LineBorder(ls_color_name, GC.Spread.Sheets.LineStyle.medium));
  16. });
复制代码

此外,還可以一次性對單元格區域的四周設置邊框樣式,可以參考如下代碼:
  1. var ls_color_name = 'black';
  2. selectedRanges = sheet.getSelections();
  3. selectedRanges.forEach(range => {
  4.     sheet.getRange(range.row, range.col, range.rowCount, range.colCount)
  5.         .setBorder(new GC.Spread.Sheets.LineBorder(ls_color_name, GC.Spread.Sheets.LineStyle.medium),
  6.                     { left: true, right: true, top: true, bottom: true});
  7. });
复制代码

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部