本帖最后由 清风沐阳 于 2026-1-9 13:50 编辑
需求:
一、新建表格中设置表格列单元格类型
1、自定义单元格类型,见附件;
2、在sheet设计器中创建一个表格,如图:
3、使用以下代码设置表格第一列的单元格类型,
- const workbook = designer?.getWorkbook() as any;
- const sheet = workbook.getActiveSheet();
- sheet?.setValue(3, 2, false);
- const table = sheet.tables.find(3, 2);
- const columnLayoutStyle = table.columnLayoutStyle(0) as GC.Spread.Sheets.Tables.ITableLayoutStyle;
- columnLayoutStyle.data = new GC.Spread.Sheets.Style();
- // @ts-ignore
- columnLayoutStyle.data.cellType = new BoolCellType();
- table.columnLayoutStyle(0, columnLayoutStyle);
复制代码
成功设置并显示,如图:
4、选中表格第一个单元格,点击“清除”按钮执行清除操作,如图:
5、重新执行第三步代码,设置表格第一列单元格类型,设置后样式未刷新,如图:
二、在通过workbook.fromJSON加载的sheet模版中设置表格列单元格类型
1、通过workbook.fromJSON加载的sheet模版,模板中有一个表格,和第一项中的表格同理;
2、使用以下代码设置表格第一列的单元格类型:
- const workbook = designer?.getWorkbook() as any;
- const sheet = workbook.getActiveSheet();
- sheet?.setValue(3, 2, false);
- const table = sheet.tables.find(3, 2);
- const columnLayoutStyle = table.columnLayoutStyle(0) as GC.Spread.Sheets.Tables.ITableLayoutStyle;
- columnLayoutStyle.data = new GC.Spread.Sheets.Style();
- // @ts-ignore
- columnLayoutStyle.data.cellType = new BoolCellType();
- table.columnLayoutStyle(0, columnLayoutStyle);
复制代码 3、表格设置后未刷新样式,和第一项遇到问题同理
|