本帖最后由 18744279242 于 2017-10-10 12:27 编辑
获取有公式合并的单元格都是0单元格的公式为:=IF(O93=0,"",I93-AD93)。
- //验证可编辑区域单元格是否有指定内容
- function checkCellContent(sheet, content) {
- var rowCount = sheet.getRowCount(); // 总行数
- for(var j = jlTotalRowNum; j < rowCount; j ++) {
- for(var k = 0; k < jlTotalColNum; k ++) {
- var cell = sheet.getCell(j, k);
- var spans= sheet.getSpans(cell);
- //合并单元格
- if (spans.length > 0) {
- //单元格是合并单元格,并且该单元格不是合并单元格的左上角,则跳过本次循环。
- if ((j != spans[0].row || k != spans[0].col) && (spans[0].rowCount > 1 || spans[0].colCount > 1)) {
- continue;
- }
- //单元格是合并单元格,该单元格是合并单元格的左上角,只判断合并单元格左上角的值。
- if ((j == spans[0].row && k == spans[0].col) && (spans[0].rowCount > 1 || spans[0].colCount > 1)) {
- var val = sheet.getValue(spans[0].row, spans[0].col);
- if(_.isEqual(cell.tag(), editAreaTags) && (val == null || val === '' || val == '#VALUE!' || (val + '').trim() == '')) {
- var cellType = sheet.getCellType(j,k,GC.Spread.Sheets.SheetArea.viewport);
- if(!(cellType instanceof GC.Spread.Sheets.CellTypes.CheckBox)) {
- if (val != content) {
- alert(sheet.getValue(spans[0].row, spans[0].col));
- alert(sheet.getCell(spans[0].col, spans[0].col).value());
- return false;
- }
- }
- }
- }
- }
- //普通单元格
- if(_.isEqual(cell.tag(), editAreaTags) && ( sheet.getCell(j, k).value() == null || sheet.getCell(j, k).value() == null || sheet.getCell(j, k).value() === '' || sheet.getCell(j, k).value() == '#VALUE!' || (sheet.getCell(j, k).value() + '').trim() == '')) {
- var cellType = sheet.getCellType(j,k,GC.Spread.Sheets.SheetArea.viewport);
- if(!(cellType instanceof GC.Spread.Sheets.CellTypes.CheckBox)) {
- if (sheet.getCell(j, k).value() != content) {
- alert(j + "," + k + ' '+ sheet.getCell(j, k).value());
- return false;
- }
- }
- }
- }
- }
- return true;
- }
复制代码
|
|