請貼上您的 Google Apps Script Web App URL。可以從「設定說明」中了解如何取得。
為了讓這個應用程式能將資料寫入您的 Google 試算表,您需要進行一次性的設定。請依照以下步驟操作:
名片。+ 新增一個工作表,並將其重新命名為 收支明細。名片 工作表中,於第一列 (Row 1) 依序建立以下欄位標題:
A1: 姓名,
B1: 公司,
C1: 職稱,
D1: 行動電話,
E1: 電話,
F1: Email,
G1: 地址,
H1: 新增日期
收支明細 工作表中,於第一列 (Row 1) 依序建立以下欄位標題:
A1: 項目,
B1: 金額,
C1: 日期,
D1: 類別,
E1: 新增日期
擴充功能 > Apps Script。function myFunction() { ... }) 刪除。部署 > 新增部署作業。網頁應用程式。我任何人部署。授權存取權,選擇您的 Google 帳戶,然後在「Google 尚未驗證這個應用程式」的警告頁面中,點擊左下角的「進階」,再點擊「前往『(您的專案名稱)』(不安全)」。最後,點擊「允許」。function doPost(e) {
try {
const params = JSON.parse(e.postData.contents);
const sheetName = params.sheet;
const data = params.data;
if (!sheetName || !data) {
throw new Error("Missing 'sheet' or 'data' in request.");
}
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName(sheetName);
if (!sheet) {
throw new Error(`Sheet with name '${sheetName}' not found.`);
}
let headers;
let rowData;
const today = new Date(); // Use full date object for formatting
if (sheetName === '名片') {
headers = ['姓名', '公司', '職稱', '行動電話', '電話', 'Email', '地址', '新增日期'];
rowData = headers.map(header => {
return header === '新增日期' ? Utilities.formatDate(today, Session.getScriptTimeZone(), "yyyy-MM-dd") : (data[header] || '');
});
} else if (sheetName === '收支明細') {
headers = ['項目', '金額', '日期', '類別', '新增日期'];
rowData = headers.map(header => {
if (header === '金額') {
const amount = parseFloat(String(data[header]).replace(/[^0-9.]/g, '')) || '';
return amount;
}
return header === '新增日期' ? Utilities.formatDate(today, Session.getScriptTimeZone(), "yyyy-MM-dd") : (data[header] || '');
});
} else {
throw new Error(`Invalid sheet name: ${sheetName}`);
}
// 如果工作表是空的,先寫入標頭
if (sheet.getLastRow() === 0) {
sheet.appendRow(headers);
}
sheet.appendRow(rowData);
return ContentService
.createTextOutput(JSON.stringify({ status: 'success', message: `Data saved to ${sheetName}` }))
.setMimeType(ContentService.MimeType.JSON);
} catch (error) {
Logger.log(error.toString());
return ContentService
.createTextOutput(JSON.stringify({ status: 'error', message: error.toString() }))
.setMimeType(ContentService.MimeType.JSON);
}
}
儲存。恭喜!您現在可以開始使用這個應用程式了。試著上傳一張名片或收據的圖片看看吧!