我通过API将行添加到Google表格中。为此,我使用C#Google.API.Sheets.v4 NuGet包。我几乎计算出自己想写的单元格。
我的问题是,当我到达工作表的末尾时,我在应用程序中对此一无所知。似乎没有错误或任何东西。数据刚刚丢失!
当我在不使用API的情况下使用表格时,我会注意到并只需按以下按钮:
我想在应用程序中写一行之前添加1行,或者要识别到工作表的末尾。
代码看起来很像这里提供的更新代码: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update
我使用电子表格电子表格.values.update功能并将其写入尚不存在的底部行
简而言之,我需要在我的应用程序中以某种方式在底部添加“更多行”功能
奖金问题:由于这个问题,我丢失了一些数据。有关如何恢复它的任何想法?
答案 0 :(得分:0)
我找到了令人满意的解决方法。而不是像表here那样使用电子表格.values.append功能。
将其设置为InsertDataOptionEnum.OVERWRITE以模仿该行为很重要,否则您最终将每个新单元格都放在单独的行中。
OLD(使用.Update())
SpreadsheetsResource.ValuesResource.UpdateRequest request = sheetsService.Spreadsheets.Values.Update(valueRange, spreadsheetId, range);
request.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED;
NEW(使用.Append())
//use AppendRequest instead of UpdateRequest to avoid lost lines on end of sheet
SpreadsheetsResource.ValuesResource.AppendRequest request = sheetsService.Spreadsheets.Values.Append(valueRange, spreadsheetId, range);
request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.OVERWRITE; //overwrite when writing cells or it will be new line per cell