Google Apps Scripts Spreadsheet ORM
- Get sheet data as JS objects, with Header as attributes names as simple as
new Sheet('people').all()
- Easy get data in {key: value} format:
record.data
- Update rows with ORM syntax:
record.update(key, value)
- Add new rows from {key: value}:
new Sheet('people').addRow({name: "Alex"})
- Filter sheet data:
new Sheet('people').filter("name", "=", "Alex")
function getAllRecordsExample() {
const allRecords = new Sheet('people').all();
for (const record of allRecords) {
Logger.log(record.data);
}
}
function filterRecordsExample() {
const records = new Sheet('people').filter('age', '>', 25);
for (const record of records) {
Logger.log(record.data);
}
}
function complexFilterExample() {
const conditions = [
['age', '>', 20],
['location', '=', 'Berlin']
];
const sheet = new Sheet('people');
const records = sheet.filter(conditions);
for (const record of records) {
Logger.log(record.data);
}
}
function addRowExample() {
const sheet = new Sheet('people');
const newData = {
'name': 'John Doe',
'age': 30,
'email': 'johndoe@example.com'
};
const newRecord = sheet.addRow(newData);
Logger.log(`New record added: ${newRecord}`);
}
function updateRecordExample() {
const sheet = new Sheet('people', primaryKey='id');
const record = sheet.get('2');
record.update("name", "Alex")
Logger.log(record);
}