環境: .NET, Google.Apis.Sheets.v4
本文介紹如何透過 Google.Apis.Sheets.v4 API 來取得 Spreadsheet 的 sheet 資訊
在取得 SheetsService 除了可以使用 OAuth 2.0 UserCredential 的方式,
如果只是要讀取資料,可以使用 API Key 的方式,
以下的 Code 就是透過 API Key 來取得某個 SpreadSheet 中每個 Sheet 的資訊,
var service = new SheetsService(new BaseClientService.Initializer
{
ApplicationName = "你的application name",
ApiKey = "api key",
});
// 例如 https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
// 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms 為 SpreadsheetId
var sheetsRequest = service.Spreadsheets.Get(SpreadsheetId);
var spreadsheet = sheetsRequest.Execute();
var sheetlist = spreadsheet.Sheets
.OrderByDescending(s => s.Properties.Title);
foreach (var sheet in sheetlist)
{
Console.WriteLine(sheet.Properties.Title);
}
註:程式要先安裝 Google.Apis.Sheets.v4 這個套件哦!
接下來,就是取得它的內容。
只要多轉入SheetName就可以了哦! Code,如下,
var service = new SheetsService(new BaseClientService.Initializer
{
ApplicationName = "你的application name",
ApiKey = "api key",
});
// 例如 https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
// 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms 為 SpreadsheetId
// 用以下的 URL
string spreadId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms";
var sheetsRequest = service.Spreadsheets.Get(spreadId);
var spreadsheet = sheetsRequest.Execute();
var sheetlist = spreadsheet.Sheets
.OrderByDescending(s => s.Properties.Title);
foreach (var s in sheetlist)
{
Console.WriteLine(s.Properties.Title);
}
string sheetName = "Class Data";
var sheetRequest = service.Spreadsheets.Values.Get(spreadId, sheetName);
var sheet = sheetRequest.Execute();
//最後一欄 Column 都要給值,不然取回來的資料長度會不一致哦!
IList<IList<Object>> rows = sheet.Values;
參考資料
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^