当前位置: 首页 > news >正文

websheet 之 单元格

一、单元格内容

1.1 设置内容

        通过activeSheet.SetCellValue方法设置激活sheet的内容,如下。

    let yourElement = document.getElementById("yourElement");let wsheet = new websheet('HTML', yourElement);/*** 第一步 获取激活的sheet*/let activeSheet = wsheet.ActiveSheet();/*** 第二步   设置单元格值*/activeSheet.SetCellValue('C2','hello websheet!');activeSheet.SetCellValue(33,'www.websheet.cn');/*** 第三步   重新绘制表格*/wsheet.BuildSheet();wsheet.Draw();

        结果将如图所示:

在这里插入图片描述

如果大批量更新表格内容,建议先设置批量更新标识。此设置将会停止公式计算。
{.is-warning}

    activeSheet.bBathUpate=true;activeSheet.SetCellValue('C2','hello websheet!');activeSheet.SetCellValue(33,'www.websheet.cn');.......//更多设置金额activeSheet.bBathUpate=false;activeSheet.WorkFormula();//如果有新增公式的情况 activeSheet.cacl();// 公式计算wsheet.BuildSheet();wsheet.Draw();

在线代码
{.is-success}

1.2 获取内容

        通过activeSheet.GetCellValue方法设获取指定单元格内容,该方法返回cell对象,其中cell.v是该格子的值,如下。

  let yourElement = document.getElementById("yourElement");let wsheet = new websheet('HTML', yourElement);/*** 第一步 获取激活的sheet*/let activeSheet = wsheet.ActiveSheet();/*** 第二步   设置单元格值*/let activeSheet = wsheet.ActiveSheet();activeSheet.SetCellValue('C2','hello websheet!');
let c2Cellvalue= activeSheet.GetCellValue('C2');// 打印 hello websheet!console.log(c2Cellvalue.v);activeSheet.SetCellValue(1,1,'火柴盒');
let c1Cellvalue= activeSheet.GetCellValue(1,1);
console.log(c1Cellvalue.v);//打印 火柴盒/*** 第三步   重新绘制表格*/wsheet.BuildSheet();wsheet.Draw();

1.3 激活单元格地址

        通过activeSheet.ActiveRange()获取。

    let range=activeSheet.ActiveRange();

二、 字体

        通过websheet.Model.Font()获取字体对象,该对象用于设置字体相关内容。再通过activeSheet.SetCellFont()方法来设置单元格的字体。

注意一:本软件默认字体为宋体,大小为14PX。
注意二:如果你使用其他字体,请确保浏览器内已正确安装该字体,否则不能正确展示该字体。
{.is-warning}

2.1 设置字体

        通过Font的name属性来设置相应的字体,例如:

    let newFontlsc = new websheet.Model.Font();newFontlsc.name='隶书';activeSheet.SetCellFont('A1', newFontlsc);

2.2 字体颜色

        通过Font的name属性来设置相应的字体,例如:

    let newFontlsc = new websheet.Model.Font();newFontlsc.color.rgb='red';//或者newFontlsc.color.rgb='#ff00ff';activeSheet.SetCellFont('B2', newFontlsc);

2.3 字体大小

        通过Font的name属性来设置相应的字体,本空间的字体大小单位为PX(像素)例如:

    let newFontlsc = new websheet.Model.Font();newFontls.sz=25;activeSheet.SetCellFont(3,2, newFontlsc);

2.4 默认字体和大小

        通过Font的静态变量可以设置默认的字体和大小。

必须在使用websheet前设置。
{.is-warning}

  websheet.Model.Font.defaultFontSize=20;websheet.Model.Font.defaultFontName='黑体';

2.5 代码示例

在线代码
{.is-success}

        利用程序来完成如图所示:

在这里插入图片描述

        代码:

  let yourElement = document.getElementById("yourElement");let wsheet = new websheet('HTML', yourElement);/*** 第一步 获取激活的sheet*/let activeSheet = wsheet.ActiveSheet();activeSheet.SetCellValue('A1','默认字体');activeSheet.SetCellValue('A2','展示字体');activeSheet.SetCellValue('A3','对标字体');activeSheet.SetCellValue('A4','展示字体');activeSheet.SetCellValue('A5','对标字体');activeSheet.SetCellValue('B1','宋体');activeSheet.SetCellValue('B2','雅黑');activeSheet.SetCellValue('B3','雅黑');activeSheet.SetCellValue('B4','隶书');activeSheet.SetCellValue('B5','隶书');activeSheet.SetCellValue('C1','宋体');activeSheet.SetCellValue('C2','雅黑');activeSheet.SetCellValue('C3','雅黑');activeSheet.SetCellValue('C4','隶书');activeSheet.SetCellValue('C5','隶书');activeSheet.SetCellValue('D5',123123);activeSheet.SetCellValue(4,4,'4行4列');/*** 第二步   声明Font字体对象 (字体对象必须在系统内安装且被浏览器识别)*//*** 雅黑,粉色*/let newFontYH = new websheet.Model.Font();newFontYH.name='雅黑';newFontYH.sz=25;//newFontK.color.rgb='#ff00ff';activeSheet.SetCellFont('B2', newFontYH);let newFontYHc = new websheet.Model.Font();newFontYHc.name='雅黑';newFontYHc.sz=25;newFontYHc.color.rgb='#ff00ff';activeSheet.SetCellFont(2,3, newFontYHc);/*** 隶书*/let newFontls = new websheet.Model.Font();newFontls.name='隶书';newFontls.sz=25;//newFontK.color.rgb='#ff00ff';activeSheet.SetCellFont('B4', newFontls);let newFontlsc = new websheet.Model.Font();newFontlsc.name='隶书';newFontlsc.sz=25;newFontlsc.color.rgb='red';activeSheet.SetCellFont('C4', newFontlsc);let default25Size = new websheet.Model.Font();default25Size.sz=25;activeSheet.SetCellFont('B1', default25Size);activeSheet.SetCellFont('C1', default25Size);activeSheet.SetCellFont('B3', default25Size);activeSheet.SetCellFont('C3', default25Size);activeSheet.SetCellFont('B5', default25Size);activeSheet.SetCellFont('C5', default25Size);//先忽略这里 这里设置行列的高度和宽度activeSheet.setColWidth(1,160)activeSheet.setColWidth(2,160)activeSheet.setColWidth(3,160)activeSheet.setColWidth(4,160)activeSheet.setRowHeight(1,30);activeSheet.setRowHeight(2,30);activeSheet.setRowHeight(3,30);activeSheet.setRowHeight(4,30);activeSheet.setRowHeight(5,30);/*** 第三步   重新绘制表格*/wsheet.BuildSheet();wsheet.Draw();

三、单元格背景

注意:目前仅支持背景颜色。
{.is-warning}

3.1 填充对象

        通过websheet.Model.Fill填充对象,来设置填充颜色。再通过activeSheet.SetCellFill()方法来设置单元格的填充对象。
        将C2通过activeSheet的SetCellFill方法设置成红色

   let redFill = new websheet.Model.Fill(); //填充对象声明redFill.setColor('#FF0000')activeSheet.SetCellFill('C2',redFill);//设置C2单元格的填充颜色// 或者activeSheet.SetCellFill(2,3,redFill);//设置2行3列单元格的填充颜色

3.2 代码示例

        下面的例子中,将C2通过SetCellFill方法设置成红色,将通过SetCellFill方法设置第2行第5列的单元格为蓝色:

  let yourElement = document.getElementById("yourElement");let wsheet = new websheet('HTML', yourElement);let activeSheet = wsheet.ActiveSheet();activeSheet.SetCellValue('B2','红色背景');activeSheet.SetCellValue('D2','蓝色颜色');/*** 第一步   申明Fill填充对象,设置填充颜色*/let redFill = new websheet.Model.Fill();redFill.setColor('#FF0000')activeSheet.SetCellFill('C2',redFill);let blueFill = new websheet.Model.Fill();blueFill.setColor('blue')activeSheet.SetCellFill(2,5,blueFill);//先忽略这里 这里设置行列的高度和宽度activeSheet.setColWidth(2,160);activeSheet.setColWidth(3,160);activeSheet.setColWidth(4,160);activeSheet.setColWidth(5,160);/*** 第二步   重新绘制表格*/wsheet.BuildSheet();wsheet.Draw();

        效果图如下:

在这里插入图片描述

在线代码
{.is-success}

四、单元格边框

        通过websheet.Model.Border边框对象和BorderPr属性对象,来设置边框,最后通过activeSheet.SetCellBorder()方法来设置单元格的边框对象。

4.1 边框颜色

        通过BorderPr对象的colors属性来设置边框的颜色:

    let  redBorderPr =new websheet.Model.BorderPr();redBorderPr.color= new websheet.Model.Color('red');//或者redBorderPr.color= new websheet.Model.Color('#FF00FF');

4.2 边框样式

        通过BorderPr对象的borderStyle属性来设置边框的样式:

   let  redBorderPr =new websheet.Model.BorderPr();redBorderPr.borderStyle='thin';

        可以设置的边框样式如下:

   BorderStyle = | 'none'| 'thin'| 'medium'| 'dashed'| 'dotted'| 'thick'| 'double'| 'hair'| 'mediumDashed'| 'dashDot'| 'mediumDashDot'| 'dashDotDot'| 'mediumDashDotDot'| 'slantDashDot';

4.3 单元格边框

        Border主要有四个属性,分别是start、top、end和bottom,他们分别对应了单元格的四个边框。

     start: BorderPr ;//单元格的左侧边框end: BorderPr ;//单元格的右侧边框top: BorderPr ;//单元格的上面边框bottom: BorderPr ;//单元格的下面边框

        例如设置单元格C2的start为红色,样式为thin的代码如下:

let  redBorderPr =new websheet.Model.BorderPr();redBorderPr.borderStyle='thin';redBorderPr.color= new Color('red');let C2Border = new websheet.Model.Border();C2Border.start=redBorderPr;activeSheet.SetCellBorder('C2',C2Border);

        也可以通过SetAllBorder方法设置所有边框代码如下:

   b2Border.SetAllBorder(redBorderPr);activeSheet.SetCellBorder('C2',b2Border);

4.4 代码示例

在线代码
{.is-success}

    let wsheet = new websheet('myofdID', yourElement);/*** 第一步 获取激活的sheet*/let activeSheet = wsheet.ActiveSheet();/*** 第二步   使用Border和BorderPr对象 设置边框样式和颜色*/let b1Border = new websheet.Model.Border();activeSheet.SetCellValue('A1','thin');let  redthinBorderPr =new websheet.Model.BorderPr();redthinBorderPr.borderStyle='thin';redthinBorderPr.color= new websheet.Model.Color('red');b1Border.SetAllBorder(redthinBorderPr);activeSheet.SetCellBorder('B1',b1Border);let d1Border = new websheet.Model.Border();activeSheet.SetCellValue('C1','medium');let  redmediumBorderPr =new websheet.Model.BorderPr();redmediumBorderPr.borderStyle='medium';redmediumBorderPr.color= new websheet.Model.Color('blue');d1Border.SetAllBorder(redmediumBorderPr);activeSheet.SetCellBorder('D1',d1Border);let e1Border = new websheet.Model.Border();activeSheet.SetCellValue('E1','dashed');let  reddashedBorderPr =new websheet.Model.BorderPr();reddashedBorderPr.borderStyle='dashed';reddashedBorderPr.color= new websheet.Model.Color('green');e1Border.SetAllBorder(reddashedBorderPr);activeSheet.SetCellBorder('F1',e1Border);.....//先忽略这里 这里设置行列的高度和宽度activeSheet.setColWidth(1,160);activeSheet.setColWidth(2,160);activeSheet.setColWidth(3,160);activeSheet.setColWidth(4,160);activeSheet.setColWidth(5,160);activeSheet.setColWidth(6,160);/*** 第三步   重新绘制表格*/wsheet.BuildSheet();wsheet.Draw(); 

        结果如下:

在这里插入图片描述

五、对齐

5.1 对齐对象

        CellAlignment对象是设置对齐类。该类主要有horizontal和vertical属性来设置对齐的方式。可以通过下面代码声明CellAlignment对象。

    let wsheet = new websheet('myofdID', yourElement);let activeSheet = wsheet.ActiveSheet();let cellAlignment = new websheet.Model.CellAlignment();

5.2 水平方向对齐

        vertical属性设置水平方向对齐,主要有:

属性值说明
left靠左侧绘制
center中央绘制
right靠右侧绘制
    let leftTop = new websheet.Model.CellAlignment();leftTop.vertical='top';//水平方向activeSheet.SetCellAlignment('B2',leftTop); 

5.3 垂直方向对齐

        horizontal属性设置垂直方向对齐,主要有:

属性值说明
top靠顶部绘制
center中央绘制
bottom靠底部绘制
    let leftTop = new websheet.Model.CellAlignment();leftTop.horizontal='left'; //垂直方面activeSheet.SetCellAlignment('B2',leftTop); 

5.4 代码示例

在线代码
{.is-success}

    let wsheet = new websheet('myofdID', yourElement);/*** 第一步 获取激活的sheet,和已经掌握内容*/let activeSheet = wsheet.ActiveSheet();activeSheet.SetCellValue('B2','leftTop');activeSheet.SetCellValue('C2','leftCenter');activeSheet.SetCellValue('D2','leftBottom');activeSheet.SetCellValue('B3','CenterTop');activeSheet.SetCellValue('C3','CenterCenter');activeSheet.SetCellValue('D3','CenterBottom');activeSheet.SetCellValue('B4','rightTop');activeSheet.SetCellValue('C4','rightCenter');activeSheet.SetCellValue('D4','rightBottom');/*** 第二步    */let leftTop = new websheet.Model.CellAlignment();leftTop.horizontal='left'; //垂直方面leftTop.vertical='top';//水平方向activeSheet.SetCellAlignment('B2',leftTop); let leftCenter = new websheet.Model.CellAlignment();leftCenter.horizontal='left';//垂直方面leftCenter.vertical='center';//水平方向activeSheet.SetCellAlignment('C2',leftCenter);  let leftbottom = new websheet.Model.CellAlignment();leftbottom.horizontal='left';//垂直方面leftbottom.vertical='bottom';//水平方向activeSheet.SetCellAlignment('D2',leftbottom); let centerTop = new websheet.Model.CellAlignment();centerTop.horizontal='center'; //垂直方面centerTop.vertical='top';//水平方向activeSheet.SetCellAlignment('B3',centerTop); let centeCenter = new websheet.Model.CellAlignment();centeCenter.horizontal='center';//垂直方面centeCenter.vertical='center';//水平方向activeSheet.SetCellAlignment('C3',centeCenter);  let centerbottom = new websheet.Model.CellAlignment();centerbottom.horizontal='center';//垂直方面centerbottom.vertical='bottom';//水平方向activeSheet.SetCellAlignment('D3',centerbottom);  let rightTop = new websheet.Model.CellAlignment();rightTop.horizontal='right'; //垂直方面rightTop.vertical='top';//水平方向activeSheet.SetCellAlignment('B4',rightTop); let rightCenter = new websheet.Model.CellAlignment();rightCenter.horizontal='right';//垂直方面rightCenter.vertical='center';//水平方向activeSheet.SetCellAlignment('C4',rightCenter);  let rightbottom = new websheet.Model.CellAlignment();rightbottom.horizontal='right';//垂直方面rightbottom.vertical='bottom';//水平方向activeSheet.SetCellAlignment('D4',rightbottom);  //先忽略这里 这里设置行列的高度和宽度activeSheet.setRowHeight(4,50);activeSheet.setRowHeight(2,50);activeSheet.setRowHeight(3,50);activeSheet.setColWidth(1,160);activeSheet.setColWidth(2,160);activeSheet.setColWidth(3,160);activeSheet.setColWidth(4,160);activeSheet.setColWidth(5,160);activeSheet.setColWidth(6,160);/*** 第三步   重新绘制表格*/wsheet.BuildSheet();wsheet.Draw();

        结果如下:

在这里插入图片描述

5.5 其他参考

  • 格式化单元格内容
  • 单元格编辑器

六、定位单元格

        该功能可以直接定位到某一个单元格,若该单元格不在展示范围内,则移动到到展示位置。当该单元格有公式时,则激活相关公式方便查看,代码如下:

  let activeSheet = wsheet.ActiveSheet();activeSheet.SetCellValue(1, 3, '=SUM(C2:E20)');//activeSheet.setActiveRange('C1');activeSheet.SetCellValue('S51', '=SUM(S40:W50)');activeSheet.SetMoveToActiveRange('S51');

相关文章:

  • 蓝桥杯 5. 交换瓶子
  • Flutter Dart 集合类型List Set Map详解军 以及循环语句 forEaclh map where any every
  • Redis ⑥-string | hash | list
  • 【计算机视觉】CV实战 - 基于YOLOv5的人脸检测与关键点定位系统深度解析
  • 八大排序——冒泡排序/归并排序
  • 如何创建极狐GitLab 私密议题?
  • UML 类图基础和类关系辨析
  • 基于Java(JSP)+MySQL实现深度学习的音乐推荐系统
  • 成熟的前端vue vite websocket,Django后端实现方案包含主动断开websocket连接的实现
  • 微软官网Win10镜像下载快速获取ISO文件
  • NLP高频面试题(五十五)——DeepSeek系列概览与发展背景
  • CentOS中在线安装Docker(超详细)
  • 基于Django的个性化股票交易管理系统
  • Web漏洞--XSS之订单系统和Shell箱子
  • <论文>(谷歌)用于时序链接预测的迁移学习
  • 解释两个 Django 命令 makemigrations和migrate
  • 基于Axure的动态甘特图设计:实现任务增删改与时间拖拽交互
  • 巴西kwai短视频推广旅游广告获客营销策略
  • 在 Java 项目中搭建和部署 Docker 的详细流程
  • WebUI可视化:第3章:Gradio入门实战
  • 他比李白接地气,比杜甫乐观,比白居易刚毅
  • 应勇:以法治力量服务黄河流域生态保护和高质量发展
  • 白俄罗斯驻华大使:应发挥政党作用,以对话平台促上合组织发展与合作
  • 哈工大赵杰:人形机器人要拓展人的能力而非一味复制,未来产业要做成至少10年
  • 技术派|“会飞的手榴弹”:微型无人机将深刻改变单兵作战方式
  • 央行:25日将开展6000亿元MLF操作,期限为1年期