@openworkspace/sheets
v0.1.1
Published
Google Sheets API client for reading, writing, and formatting
Maintainers
Readme
@openworkspace/sheets
Google Sheets API client for OpenWorkspace -- read, write, append, format, structure.
Part of the OpenWorkspace monorepo.
Install
npm install @openworkspace/sheets @openworkspace/coreUsage
import { createHttpClient } from '@openworkspace/core';
import { getValues, updateValues, appendValues, createSpreadsheet } from '@openworkspace/sheets';
const http = createHttpClient({ auth: { accessToken: 'token' } });
// Read values
const result = await getValues(http, 'spreadsheetId', 'Sheet1!A1:D10');
if (result.ok) {
for (const row of result.value.values ?? []) {
console.log(row.join('\t'));
}
}
// Write values
await updateValues(http, 'spreadsheetId', 'Sheet1!A1', {
values: [['Name', 'Score'], ['Alice', 95], ['Bob', 87]],
});
// Append rows
await appendValues(http, 'spreadsheetId', 'Sheet1!A:D', {
values: [['Charlie', 92]],
});
// Create a new spreadsheet
await createSpreadsheet(http, { title: 'Q1 Report' });API
All functions take an HttpClient as the first parameter and return Result<T, E>.
Read
getSpreadsheet(http, id)-- Get spreadsheet metadatagetValues(http, id, range)-- Read cell valuesbatchGetValues(http, id, ranges)-- Read multiple rangesgetMetadata(http, id)-- Get sheet metadata
Write
updateValues(http, id, range, options)-- Write cell valuesappendValues(http, id, range, options)-- Append rowsclearValues(http, id, range)-- Clear cell valuesbatchUpdateValues(http, id, options)-- Write multiple ranges
Structure
createSpreadsheet(http, options)-- Create a spreadsheetaddSheet(http, id, title)-- Add a sheet tabdeleteSheet(http, id, sheetId)-- Delete a sheet tabinsertRows(http, id, options)-- Insert rowsinsertColumns(http, id, options)-- Insert columns
Format
formatCells(http, id, options)-- Format a cell rangebatchFormatCells(http, id, options)-- Batch format cells
