Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Google Sheets API v4使用c#检查Google Sheets中的空单元格_C#_.net_Google Sheets_Google Sheets Api - Fatal编程技术网

通过Google Sheets API v4使用c#检查Google Sheets中的空单元格

通过Google Sheets API v4使用c#检查Google Sheets中的空单元格,c#,.net,google-sheets,google-sheets-api,C#,.net,Google Sheets,Google Sheets Api,这是一段代码。我已使用C#成功连接到Google Sheets API v4。我发现当一个单元格是空的或空白的时候。我收到以下错误:System.ArgumentOutOfRangeException:'索引超出范围。必须为非负数且小于集合的大小。 参数名称:索引“ 如您所见,单元格E3中的输入ID为空。我在下面的代码中尝试了这一点,以检查它是否为空,它给出的值为零,但仍然给出相同的错误。我想要实现的是,一旦一个单元格为空,我就给它零或未知的值??请记住,若我在单元格E3中输入值,代码运行良好,

这是一段代码。我已使用C#成功连接到Google Sheets API v4。我发现当一个单元格是空的或空白的时候。我收到以下错误:System.ArgumentOutOfRangeException:'索引超出范围。必须为非负数且小于集合的大小。 参数名称:索引“ 如您所见,单元格E3中的输入ID为空。我在下面的代码中尝试了这一点,以检查它是否为空,它给出的值为零,但仍然给出相同的错误。我想要实现的是,一旦一个单元格为空,我就给它零或未知的值??请记住,若我在单元格E3中输入值,代码运行良好,只需检查空单元格。这里的参考

int-inputId=0;
foreach(值中的var行)
{
SqlCommand=newsqlcommand();

command.Connection=ServerConnection;//我们必须了解的一点是,Sheets API不读取“空单元格”。您可以在以下内容中读取:

响应中将忽略空的后续行和列

它可能不是直接的,但测试也是这么说的。当我读取一个空单元格时,我会得到相同的错误

Uncaught TypeError: Cannot read property 'length' of undefined
一种解决方法是为“空单元格”编写一个占位符,就像处理“零或未知”一样

如果这不是一个选项,您还可以执行类似If-else的方法,在错误停止程序之前捕获错误。要实现此功能,请执行以下操作:

例如:

 for (i = 0; i < range.values.length; i++) {
        //IF NOT AN EMPTY CELL
        if(range.values[i][j]){

           console.log(range.values[i][i] + " is my value");
         //IF IT's AN EMPTY CELL
         }else{

            console.log("U N D E F I N E D");
            //your method to write to that cell
            writeToSheet();
         }         
  }
for(i=0;i

希望这个简单的类比能对您有所帮助。

“请尝试{if(第[4行].Equals(null)| | string.IsNullOrEmpty(Convert.ToString(第[4行])){inputId=0;}else{inputId=Convert.ToInt32(行[4]);}}catch(异常e){Console.WriteLine(e.Message);}“是的,谢谢你,你的类比成功了。我所做的是将if-else语句包装在一个try块中,然后一旦空的尾随行和列抛出错误,catch块将处理异常错误……然后循环将继续处理其余行……我测试了它,它的工作非常出色!;)你做到了吗?”
 for (i = 0; i < range.values.length; i++) {
        //IF NOT AN EMPTY CELL
        if(range.values[i][j]){

           console.log(range.values[i][i] + " is my value");
         //IF IT's AN EMPTY CELL
         }else{

            console.log("U N D E F I N E D");
            //your method to write to that cell
            writeToSheet();
         }         
  }