스프레드시트 관리 작업
워크시트 관리
WorksheetCollection 클래스는 워크북 내 워크시트를 관리하기 위한 메서드를 제공합니다. 새 워크시트는 addWorksheet()으로 추가하고, removeWorksheet()으로 제거하며, moveWorksheet()으로 순서를 재배열합니다.
import { Workbook } from "excel-cells";
const workbook = new Workbook();
const sheets = workbook.worksheets;
const sheet2 = sheets.addWorksheet("Sales");
const sheet3 = sheets.addWorksheet("Summary");
sheet2.putValue("A1", "Sales Data");
sheet3.putValue("A1", "Summary Report");
await workbook.save("multi-sheet.xlsx");셀 값 및 수식
worksheet.putValue()을(를) 사용하여 정수, 소수 및 문자열을 기록합니다. 셀은 getCell2()으로 참조하거나 getCell()로 행/열 인덱스로 접근합니다. 수식은 cell.setFormula()으로 설정합니다.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", 42);
worksheet.putValue("A2", 3.14159);
worksheet.putValue("A3", "Hello World");
const cellA4 = worksheet.getCell2("A4");
cellA4.setFormula("=SUM(A1:A2)");
await workbook.save("values.xlsx");폰트 및 채우기 스타일링
Style 클래스를 사용하여 폰트 설정을 적용합니다. 폰트 이름, 크기, 굵게, 기울임 및 색상을 설정합니다. 개별 셀에 스타일을 적용하려면 cell.setStyle()을(를) 사용합니다.
import { Workbook, Style } from "excel-cells";
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
const style = new Style();
style.setFontName("Arial");
style.setFontSize(14);
style.setBold(true);
style.setItalic(true);
style.setFontColor("FF0000");
const cell = worksheet.getCell2("A1");
cell.putValue("Styled Text");
cell.setStyle(style);
await workbook.save("styled.xlsx");데이터 유효성 검사
DataValidation를 사용하여 셀 범위에 유효성 검사 규칙을 추가합니다. 유효성 검사 유형(목록, 숫자 범위 또는 사용자 정의)을 지정하고 worksheet.addDataValidation()로 적용합니다.
import { Workbook, DataValidation } from "excel-cells";
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
const validation = new DataValidation();
validation.type = "list";
validation.formula1 = '"Option1,Option2,Option3"';
worksheet.addDataValidation(validation, "B1:B10");
await workbook.save("validated.xlsx");자동 필터
worksheet.setAutoFilter()를 사용하여 필터 가능한 열 머리글을 활성화합니다. worksheet.removeAutoFilter()로 필터를 제거합니다.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Name");
worksheet.putValue("B1", "Age");
worksheet.putValue("C1", "City");
worksheet.putValue("A2", "Alice");
worksheet.putValue("B2", "25");
worksheet.putValue("C2", "New York");
worksheet.setAutoFilter("A1:C4");
await workbook.save("filtered.xlsx");Hyperlinks
cell.setHyperlink()를 사용하여 셀에 하이퍼링크를 연결합니다. URL, 이메일 주소 및 내부 시트 참조를 지원합니다.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Click here");
worksheet.getCell2("A1").setHyperlink("https://www.example.com");
worksheet.putValue("A3", "Send email");
worksheet.getCell2("A3").setHyperlink("mailto:test@example.com");
await workbook.save("hyperlinks.xlsx");통합 문서 보호
workbook.protect()를 사용하여 비밀번호로 통합 문서를 보호합니다. style.setLocked(true)를 사용하여 개별 셀을 잠급니다.
import { Workbook, Style } from "excel-cells";
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Protected Cell");
const style = new Style();
style.setLocked(true);
worksheet.getCell2("A1").setStyle(style);
workbook.protect(true, "password");
await workbook.save("protected.xlsx");열 및 행 크기 조정
출력 XLSX 파일에서 셀 크기를 제어하려면 열 너비와 행 높이를 설정하십시오.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Wide Column");
worksheet.setColumnWidth(0, 30);
worksheet.setRowHeight(0, 25);
await workbook.save("sized.xlsx");