不会啊,我这边正常执行了,你不要用getValue,用getText获取单元格的text,然后再用setText设置回去。
我这边测试的页面:
https://demo.grapecity.com.cn/Sp ... itializeSpread.html
步骤1:先设置一整列为下拉菜单,代码:
- var spread = GC.Spread.Sheets.findControl("ss");
- var spreadNS = GC.Spread.Sheets;
- var combo = new spreadNS.CellTypes.ComboBox();
- combo.items([{ text: "Red", value: "1" }, { text: "Green", value: "2" }, { text: "Blue", value: "3" }, { text: "White", value: "4" }])
- .editorValueType(spreadNS.CellTypes.EditorValueType.value);
-
- var sheet = spread.getActiveSheet();
- sheet.getRange(-1, 2).cellType(combo);
复制代码
步骤二:手动改几个下拉菜单的值,如图:
步骤三:照上述思路把text设置回去,代码:
- var spread = GC.Spread.Sheets.findControl("ss");
- var sheet = spread.getActiveSheet();
- sheet.suspendPaint();
- for(let i=0; i<sheet.getRowCount(); i++){
- var text = sheet.getText(i, 2);
- sheet.setCellType(i, 2, null);
- sheet.setText(i, 2, text);
- }
- sheet.resumePaint();
复制代码
如图:
|