[]
SpreadJS는 가져오기 및 내보내기 과정에서 Excel 가상 분석 데이터 표와 SJS.TABLE 수식 간의 변환을 수행합니다.
가상 분석 데이터 표가 포함된 Excel 통합 문서를 열면 SpreadJS는 각 데이터 표를 동등한 SJS.TABLE 수식으로 변환합니다.
생성되는 수식 유형은 Excel 파일 버전과 allowDynamicArray 설정에 따라 달라집니다.
Excel 파일 유형 | allowDynamicArray | SpreadJS에서의 결과 |
|---|---|---|
Excel 2019 이하에서 생성 | false |
|
Excel 365 이상에서 생성 | true | 자동으로 확장되는 동적 배열 수식으로 가져옵니다. |
두 경우 모두:
원본 Excel 파일의 계산 결과가 유지됩니다.
수식은 SpreadJS에서 정상적으로 다시 계산됩니다.
SpreadJS 통합 문서를 내보낼 때 SpreadJS는 각 SJS.TABLE 수식을 기본 Excel 데이터 표로 변환하려고 시도합니다.
변환에 성공하면:
생성된 .xlsx 파일에 표준 Excel 데이터 표가 포함됩니다.
파일은 Excel에서 정상적으로 열리고 예상대로 동작합니다.
변환에 실패하면:
SJS.TABLE 수식이 내보낸 파일에 그대로 유지됩니다.
Excel은 수식 텍스트를 표시하지만 기본 데이터 표로 인식하지는 않습니다.
변환은 가능한 범위 내에서 수행되며 Excel의 구조적 제한 사항에 영향을 받습니다.
다음 조건 중 하나라도 만족하면 SJS.TABLE에서 Excel 데이터 표로의 변환에 실패합니다.
수식에 시트 간 참조가 포함된 경우
(Excel 데이터 표는 다른 워크시트에 대한 참조를 지원하지 않습니다.)
수식에 두 개를 초과하는 inputs / input_cell 쌍이 포함된 경우
(Excel은 단일 변수 및 이변수 데이터 표만 지원합니다.)
참조된 범위를 유효한 워크시트 주소로 확인할 수 없는 경우
입력값 범위가 Excel에서 요구하는 데이터 표 레이아웃 구조와 일치하지 않는 경우
(예: 상단 행 또는 왼쪽 열 구조가 없는 경우)
input_cell이 데이터 표 결과 영역 내부에 위치하는 경우
(단일 변수 데이터 표의 좌상단 위치는 예외)
팁: Excel과의 왕복 호환성이 필요한 경우
SJS.TABLE사용을 하나 또는 두 개의 입력 쌍으로 제한하고 시트 간 참조를 피하세요.
다음 제한 사항은 Excel 호환성과 관계없이 적용됩니다.
SJS.TABLE은 비동기 함수와 함께 사용하는 것을 지원하지 않습니다.
result_reference 또는 해당 종속 셀에 defaultValue 또는 setAsyncResult에 의존하는 비동기 함수가 포함되어 있으면 반환 결과를 예측할 수 없을 수 있습니다.
데이터 표 계산에서는 동기 수식만 사용하세요.
SJS.TABLE은 SpreadJS Calc Worker 환경에서 완전히 지원됩니다. 별도의 추가 설정은 필요하지 않습니다.