기타자료
[Sheets] 구글 스프레드 시트에 데이터 삭제 또는 초기화 작업
BIZLAB
2025. 2. 5. 11:56
특정 범위의 모든 값만 삭제하고, 서식은 유지
spreadsheets.values.clear 사용
$service->spreadsheets_values->clear($spreadsheetId, $sheetName, new Google_Service_Sheets_ClearValuesRequest());
설명
- $spreadsheetId → 스프레드시트의 ID
- $sheetName → 초기화할 시트의 이름 ("Sheet1" 등)
- clearValuesRequest() → 해당 시트의 모든 데이터를 삭제
📌 이 방법을 쓰면 값만 삭제되며, 셀 서식(색상, 테두리 등)은 유지됩니다.
값 및 서식까지 함께 삭제
updateCells 사용
$requests[] = new Google_Service_Sheets_Request([
'updateCells' => [
'range' => [
'sheetId' => $sheet->getProperties()->sheetId
],
'fields' => '*' // 모든 값 및 서식 삭제
]
]);
설명
- fields를 '*'로 설정하면 모든 데이터 + 서식까지 삭제됨
- 특정 범위를 지정하지 않으면 시트 전체가 초기화됨
📌 이 방법을 쓰면 셀의 배경색, 글꼴 크기, 테두리 같은 서식도 모두 초기화됩니다.
특정 범위의 모든 데이터 삭제
$requests[] = new Google_Service_Sheets_Request([
'updateCells' => [
'range' => [
'sheetId' => $sheet->getProperties()->sheetId,
'startRowIndex' => 0,
'endRowIndex' => 1000, // 예를 들어 1000행까지 삭제
'startColumnIndex' => 0,
'endColumnIndex' => 26, // A~Z 열 삭제
],
'rows' => [],
'fields' => 'userEnteredValue'
]
]);
🚀 어떤 방법을 선택해야 할까?
방법 | 값 삭제 | 서식 삭제 | 시트 전체 초기화 |
spreadsheets.values.clear | ✅ | ❌ | ❌ |
updateCells + fields: '*' | ✅ | ✅ | ✅ |
특정 범위 updateCells | ✅ | ❌ | ❌ |
✔ 추천 방법
- 값만 삭제하고 싶다면? → spreadsheets.values.clear() 사용
- 값 + 서식까지 모두 삭제하고 싶다면? → updateCells + fields: '*' 사용