从数组写入Google电子表格中的单元格(数字格式)?

时间:2014-04-14 17:51:00

标签: arrays google-apps-script google-spreadsheet-api

我是Google SpreadSheet的新用户,如果这是一个愚蠢的问题,请原谅。

只是为了练习,我正在尝试制作一个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”),但它没有做到这一点......

我该怎么办?

非常感谢你的帮助!!!!

1 个答案:

答案 0 :(得分:1)

我有解决方案......很简单......对不起打扰你们......

我的错误是只为该数组编写了一个参数:

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

为了使其正常工作,我应该写一下:

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

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