구글 시트에서 현재 시트를 csv 파일로 다운로드(파일 → 다운로드 → 쉼표로 구분된 값) 받을 경우, 한글은 깨짐 현상이 있다.
그래서! apps script를 활용하여 utf-8 형식의 csv 파일을 한글 깨짐 없이 다운로드하는 시트를 공유한다.
1. 사용 방법
(세팅)
- 아래 3.번에서 사본 만들기 링크 클릭하여 사본 만들기
- 권한 허용 받기(맨 처음 실행 시)
Custom Menu - Download Active Sheet as CSV 클릭 - 확인 - 계정 선택 - 고급 - 제목 없는 프로젝트(으)로 이동(안전하지 않음) - 허용
(사용)
(1) csv로 변환할 시트에 커서를 두기(해당 시트의 셀 아무데나 한번 클릭)
(2) Custom Menu - Download Active Sheet as CSV 클릭하기
2. 본인 시트에 apps script를 추가하여 사용하기
사용 방법 중 세팅에서 아래 내용을 먼저 해주면 됩니다.
- 확장 프로그램 → Apps Script에 아래 코드 추가하고, 저장하기(ctrl+s)
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Download Active Sheet as CSV', 'downloadActiveSheetAsCSV')
.addToUi();
}
function downloadActiveSheetAsCSV() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var csvContent = convertSheetToCsv_(sheet);
// BOM을 추가하여 UTF-8로 인식하게 함
var bom = '\uFEFF';
var csvContentWithBom = bom + csvContent;
var htmlTemplate = HtmlService.createHtmlOutput(
'<html><body>' +
'<a href="data:text/csv;charset=utf-8,' + encodeURIComponent(csvContentWithBom) +
'" download="' + sheet.getName() + '.csv">Download CSV</a>' +
'<script>document.querySelector("a").click();</script>' +
'</body></html>'
);
SpreadsheetApp.getUi().showModalDialog(htmlTemplate, 'Download CSV');
}
function convertSheetToCsv_(sheet) {
var data = sheet.getDataRange().getValues();
var csv = "";
data.forEach(function(row) {
csv += row.map(function(cell) {
return "\"" + cell.toString().replace(/"/g, "\"\"") + "\"";
}).join(",") + "\n";
});
return csv;
}
3. 새 시트로 만들어 사용하기
아래 링크를 클릭하여 사본을 만들어 사용할 수 있습니다.
툴의 개선 사항이나 제안 사항을 댓글로 달아주세요!
해당 시트로 다운로드 시, 깨지지 않는 걸 확인할 수 있습니다.
아래 링크들에서 다른 Google Sheet 툴들을 만나보실 수 있습니다!
1. Google Sheet 에서 두 텍스트 비교하기(링크)
2. Google Sheet를 활용한 gmail 자동화 (링크)
3. Google Sheet에서 GPT 사용해보기 (링크)
4. Google Sheet에서 키워드 색칠하기 (링크)
'컴퓨터' 카테고리의 다른 글
[gsheet] 구글 시트에서 두 텍스트 비교하기 (0) | 2024.08.18 |
---|---|
[gsheet] 구글 시트에서 키워드만 색칠하기 (0) | 2024.08.18 |
[gsheet] 구글 스프레드 시트에서 GPT를 활용하는 방법 (0) | 2024.02.11 |
[gsheet] gmail 자동화 (개인별 메일 한 번에 보내기) (2) | 2023.08.27 |
[ChatGPT]구글 BARD 사용기, chatGPT vs BARD (1) | 2023.05.02 |
댓글