Univer Sheets API
Univer Sheets는 전문가 수준의 스프레드시트 기능을 제공하며 Microsoft Excel과 최대한 일관된 개념으로 설계되었습니다.
가져오기
import '@univerjs/sheets/facade'import '@univerjs/sheets-ui/facade'통합 문서
통합 문서는 여러 워크시트를 포함하며 Excel 파일에 해당합니다.
unitId는 통합 문서의 고유 식별자로 사용할 수 있습니다.
통합 문서 만들기
univerAPI.createWorkbook(data, options) 메서드는 FWorkbook 객체를 만들어 반환합니다.
IWorkbookData는 통합 문서의 구성 정보를 담는 객체입니다.
const fWorkbook = univerAPI.createWorkbook({ id: 'Sheet1', name: 'Sheet1' })console.log(fWorkbook)옵션을 설정하면 생성한 통합 문서를 활성 통합 문서로 지정하지 않을 수 있습니다.
const fWorkbook = univerAPI.createWorkbook({ id: 'Sheet1', name: 'Sheet1' }, { makeCurrent: false })console.log(fWorkbook)// If you want to switch to this workbook after 3 secondssetTimeout(() => { univerAPI.setCurrent(fWorkbook.getId())}, 3000)통합 문서 데이터 가져오기
const fWorkbook = univerAPI.getActiveWorkbook()const snapshot = fWorkbook.save()console.log(snapshot)통합 문서 언로드하기
Workbook이 더 이상 필요하지 않으면 API 인스턴스의 disposeUnit 메서드를 호출해 언로드할 수 있습니다.
const fWorkbook = univerAPI.getActiveWorkbook()const unitId = fWorkbook?.getId()if (unitId) { univerAPI.disposeUnit(unitId)}Univer 인스턴스를 호스팅하는 페이지 전체가 제거되거나 라우트가 언로드될 때는 univerAPI.disposeUnit 대신 univer.dispose() 메서드를 호출해 정리하세요.
또한 univer와 univerAPI는 서로 다른 인스턴스입니다. 이 인스턴스를 가져오는 방법은 설치 및 기본 사용법을 참고하세요.
통합 문서 ID 가져오기
const fWorkbook = univerAPI.getActiveWorkbook()fWorkbook?.getId()워크시트
워크시트는 표 데이터를 저장하며 통합 문서에 속합니다.
하나의 통합 문서에는 여러 워크시트를 포함할 수 있으며 같은 통합 문서 안에서 워크시트 이름은 중복될 수 없습니다.
subUnitId는 통합 문서 안에서 시트를 고유하게 식별하는 데 사용할 수 있습니다.
워크시트 가져오기
통합 문서의 모든 시트를 가져옵니다.
const fWorkbook = univerAPI.getActiveWorkbook()const sheets = fWorkbook.getSheets()활성 워크시트를 가져옵니다.
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()워크시트 데이터 가져오기
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const sheetSnapshot = fWorksheet.getSheet().getSnapshot()워크시트 만들기
다음 예시는 FWorkbook.create 메서드를 사용해 워크시트를 만드는 방법을 보여 줍니다.
const fWorkbook = univerAPI.getActiveWorkbook()// Create a worksheet named 'Sheet2' with 10 rows and 10 columnsconst newSheet = fWorkbook.create('Sheet2', 10, 10)// Create a new sheet named 'MyNewSheetWithData' with 10 rows and 10 columns and some data, and set it as the first sheetconst sheetData = { // ... Omit other properties cellData: { 0: { 0: { v: 'Hello Univer!', }, }, }, // ... Omit other properties}const newSheetWithData = fWorkbook.create('MyNewSheetWithData', 10, 10, { index: 0, sheet: sheetData,})console.log(newSheetWithData)워크시트 삭제하기
워크시트 인스턴스 또는 워크시트 ID를 전달해 워크시트를 삭제합니다.
// Delete the second worksheetconst fWorkbook = univerAPI.getActiveWorkbook()const sheet = fWorkbook.getSheets()[1]fWorkbook.deleteSheet(sheet)// The code below deletes the specified worksheet by id// fWorkbook.deleteSheet(sheet.getSheetId());워크시트 활성화하기
워크시트 인스턴스 또는 워크시트 ID를 전달하거나 FWorksheet.activate() 메서드를 사용해 워크시트를 활성화합니다.
// Activate the second worksheetconst fWorkbook = univerAPI.getActiveWorkbook()const sheet = fWorkbook.getSheets()[1]fWorkbook.setActiveSheet(sheet)// Activates the specified worksheet by id// fWorkbook.setActiveSheet(sheet.getSheetId());// Activate the worksheet using the FWorksheet.activate() method// sheet.activate();워크시트 복사하기
// The code below duplicates the given worksheetconst fWorkbook = univerAPI.getActiveWorkbook()const activeSheet = fWorkbook.getActiveSheet()const duplicatedSheet = fWorkbook.duplicateSheet(activeSheet)console.log(duplicatedSheet)워크시트 ID 가져오기
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()fWorksheet?.getSheetId()워크시트 행 및 열 개수 설정하기
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Set row count to 100000fWorksheet.setRowCount(100000)// Set column count to 30fWorksheet.setColumnCount(30)워크시트 새로 고침하기
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()fWorksheet.refreshCanvas()워크시트 확대/축소
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Set zoom ratio to 200%fWorksheet.zoom(2)const zoomRatio = fWorksheet.getZoom()셀로 스크롤하기
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Scroll to cell D10const fRange = fWorksheet.getRange('D10')const row = fRange.getRow()const column = fRange.getColumn()fWorksheet.scrollToCell(row, column)// Add scroll animation durationfWorksheet.scrollToCell(row, column, 1000)// Get scroll stateconst scrollState = fWorksheet.getScrollState()const { offsetX, offsetY, sheetViewStartColumn, sheetViewStartRow } = scrollStateconsole.log(scrollState) // sheetViewStartRow: 9, sheetViewStartColumn: 3, offsetX: 0, offsetY: 0핵심 기능
권한
참고: 권한
수식
참고: 수식
행과 열
참고: 행과 열
범위
참고: 범위
선택 영역
참고: 선택 영역
셀
참고: 셀
틀 고정
참고: 틀 고정
Univer에 사용자 지정 컴포넌트 통합하기
참고 자료
자세한 내용은 다음 API 문서를 참고하세요.
이 가이드는 어떠셨나요?