2014-04-14 134 views
0

我是Google SpreadSheet的新手,如果这是一个愚蠢的问题,请原谅。从数组写入Google电子表格(数字格式)中的单元格?

只是为了练习,我试图做一个Sodoku求解器。我在写代码的时候遇到了一个问题。这是:

为了解决Sodoku,我做了一个函数,检查该单元格可能的答案是什么。这个函数cellPossibleValues(行,列)接收单元格的行和列,并返回单元格的可能值并返回数组。到现在为止还挺好!

当这个数组等于1时,因此该单元只有一个可能的值,我告诉代码在单元上写它的值。我的问题是它不会写入数字,但会写入数组。 (它在单元格中写入“[1.0]”,而不是“1”)。

下面是代码:

for (var row = 1; row <= 9; row++){ 
for(var column = 1; column <= 9; column++){ 

    cell = board.getCell(row, column).getValue() 

    if (cell != 0){ 

    boardAsArray.push(cell); 

} 
else { 

    boardAsArray.push(cellPossibleValues(row, column)); 

    if (boardAsArray[arrayPosition].length == 1) { 
     board.getCell(row, column).setValue(boardAsArray[arrayPosition]); 
     board.getCell(row, column).setFontColor("red"); 
     board.getCell(row, column).setNumberFormat("0"); 
    } 

} 

arrayPosition = arrayPosition + 1; 

} 
} 

下面是它是写的一个形象:

Note that instead of "[7.0]" I would like it to be written just "7" in cell(2,2), for exemple

注意,而不是 “[7.0]” 我会把它想例如在单元格(2,2)中只写成“7”,例如。

从来就尝试使用.setNumberFormat( “0”),但它doesn't做的伎俩....

我该怎么办?

非常感谢您的帮助!

回答

1

从来就得到了解决......这是很简单的...对不起打扰你们...

我的错误是只写一个参数数组:

board.getCell(row, column).setValue(boardAsArray[arrayPosition]); 

为了这个正常工作,我应该写:

board.getCell(row, column).setValue(boardAsArray[arrayPosition][0]); 

嗯......生活和学习....

相关问题