[]
SpreadJS는 사용자가 대용량 파일을 빠르게 열고 저장할 수 있도록 하며, Excel, CSV, SSJSON(이전 SpreadJS 형식), SJS(새롭고 더 빠른 SpreadJS 형식) 등 다양한 파일 형식으로 내보내기 또는 가져오기를 지원합니다. 특히, 새로운 SJS 형식은 매우 큰 Excel 파일을 다룰 때 로딩 속도와 메모리 사용량을 크게 개선하며, 이전 SpreadJS 버전에 비해 파일을 다시 저장할 경우 파일 크기를 현저히 줄여줍니다.
다양한 형식으로 파일을 열고 저장하고, 가져오고 내보내는 작업을 수행하기 위해 SpreadJS는 gc.spread.sheets.io.xxx.js
플러그인을 제공합니다.
GC.Spread.Sheets.Workbook 클래스는 다음과 같은 파일 작업 메서드를 제공합니다:
메서드 | 설명 |
---|---|
SpreadJS 파일을 로드합니다. | |
SpreadJS 파일을 저장합니다. | |
Excel, SSJSON, SJS 또는 CSV 형식으로 파일을 내보냅니다. | |
Excel, SSJSON, SJS, CSV 또는 JavaScript 형식의 파일을 가져옵니다. |
다음 섹션에서는 다양한 파일 작업을 자세히 살펴보겠습니다.
open
메서드를 사용하여 SpreadJS 파일을 로드할 수 있습니다. 이 메서드는 다음과 같은 파라미터를 사용합니다:
file blob: 압축된 스프레드시트 데이터 파일을 나타냅니다.
successCallBack: 파일 로딩이 완료되었을 때 호출되는 콜백 함수이며, 인자로 JSON 데이터를 받습니다.
errorCallBack: 파일 로딩 중 오류가 발생했을 때 호출되는 콜백 함수입니다.
openOptions: GC.Spread.Sheets.OpenOptions
타입에서 상속된 옵션 객체입니다.
옵션 | 설명 |
---|---|
includeStyles | 로드 시 스타일을 포함할지 여부를 나타냅니다. 기본값은 true입니다. |
includeFormulas | 로드 시 수식을 포함할지 여부를 나타냅니다. 기본값은 true입니다. |
fullRecalc | JSON 데이터를 로드한 후 계산을 수행할지 여부를 나타냅니다. 기본값은 true입니다. |
dynamicReferences | 동적 참조를 사용하여 함수가 계산될 수 있는지 여부를 나타냅니다. 기본값은 true입니다. |
calcOnDemand | 수식이 필요할 때만 계산될 수 있는지 여부를 나타냅니다. 기본값은 true입니다. |
includeUnusedStyles | Excel XML 파일을 JSON으로 변환할 때 이름 스타일을 포함할지 여부를 나타냅니다. 기본값은 true입니다. |
openMode | GC.Spread.Sheets.OpenMode 열거형에서 상속됩니다. 열기 모드가 일반(normal), 지연(lazy), 점진적(incremental) 중 어떤 것인지 지정합니다. 기본값은 normal입니다. |
progress | GC.Spread.Sheets.ProgressFunctionType 타입 정의에서 상속되며, 각 열기 모드에서 호출되는 진행 상황 콜백 함수입니다. |
다음 코드 구현은 파일 열기 작업을 수행하는 방법을 보여줍니다:
Ask ChatGPT
//open 메서드 사용 예제.
//file blob 가져오기
var file = document.getElementById("fileInput").files[0];
// 가져오기
spread.open(file, function () {
// 성공 콜백
}, function (e) {
console.log(e); // error 콜백
}, {
lazyLoad: true,
includeFormulas: false,
includeStyles: false
});
SpreadJS 파일은 save
메서드를 사용하여 저장할 수 있으며, 이 메서드는 다음과 같은 매개변수를 제공합니다:
successCallBack: SpreadJS 파일이 완전히 저장되었을 때 호출되는 성공 콜백 함수이며, Blob
을 인자로 받습니다.
errorCallBack: SpreadJS 파일 저장 중 오류가 발생했을 때 호출되는 오류 콜백 함수입니다.
saveOptions: GC.Spread.Sheets.SaveOptions
타입 정의에서 상속되며, 저장 옵션을 제공합니다.
다음은 다양한 저장 옵션입니다:
저장 옵션 | 설명 | |
---|---|---|
includeBindingSource | 파일 저장 시 바인딩 소스를 포함할지 여부를 나타냅니다. 기본값은 | |
includeStyles | 파일 저장 시 스타일을 포함할지 여부를 나타냅니다. 기본값은 | |
includeFormulas | 파일 저장 시 수식을 포함할지 여부를 나타냅니다. 기본값은 | |
saveAsView | 저장된 파일이 현재 스프레드의 서식 문자열을 무시할지 여부를 나타냅니다. 기본값은 | |
includeAutoMergedCells | 파일 저장 시 자동 병합된 셀을 포함할지 여부를 나타냅니다. 기본값은 | |
includeCalcModelCache | 파일 저장 시 계산 관련 추가 데이터를 포함할지 여부를 나타냅니다. 기본값은 | |
includeUnusedNames | 파일 저장 시 사용되지 않는 사용자 정의 이름을 포함할지 여부를 나타냅니다. 기본값은 | |
includeEmptyRegionCells | 사용된 데이터 범위 외의 빈 셀을 포함할지 여부를 나타냅니다. 기본값은 | |
saveR1C1Formula | 파일에 r1c1 수식을 저장할지 여부를 나타냅니다. 기본값은 |
다음 코드 구현은 파일 저장 작업을 수행하는 방법을 보여줍니다:
var fileName = "fileNamehere.sjs";
spread.save(function (blob) {
// blob을 파일로 저장
saveAs(blob, fileName);
}, function (e) {
console.log(e);
}, {
includeUnusedNames: false,
includeEmptyRegionCells: false
saveR1C1Formula: true
});
Spread에서는 파일을 Excel, SSJSON, SJS 또는 CSV 형식으로 내보낼 수 있습니다.
export
메서드는 다음과 같은 매개변수를 제공합니다:
successCallBack: 파일 내보내기가 완료되었을 때 호출되는 성공 콜백 함수이며, Blob
을 인자로 받습니다.
errorCallBack: 파일 내보내기 중 오류가 발생했을 때 호출되는 오류 콜백 함수입니다.
saveOptions: GC.Spread.Sheets.ExportOptions
타입 정의에서 상속되며, 내보내기 옵션을 제공합니다.
다음은 다양한 내보내기 옵션입니다:
옵션 | 설명 |
---|---|
FileOptions |
|
ExportCsvOptions |
|
ExportSSJsonOptions |
|
ExportXlsxOptions |
|
다음 코드 구현은 파일 내보내기 작업을 수행하는 방법을 보여줍니다:
var fileName = "fileNamehere.sjs";
spread.export(function (blob) {
// blob을 파일로 저장
saveAs(blob, fileName);
}, function (e) {
console.log(e);
}, {
fileType: GC.Spread.Sheets.FileType.sjs,
includeBindingSource: true
});
Spread에서는 Excel, SSJSON, SJS 또는 CSV 형식의 파일도 가져올 수 있습니다.
import
메서드는 다음과 같은 매개변수를 제공합니다:
file: 가져올 SSJSON, SJS, CSV 또는 Excel 파일입니다.
successCallBack: 파일 가져오기가 완료되었을 때 호출되는 성공 콜백 함수입니다.
errorCallBack: 파일 가져오기 중 오류가 발생했을 때 호출되는 오류 콜백 함수입니다.
importOptions: GC.Spread.Sheets.ImportOptions
타입 정의에서 상속되며, 가져오기 옵션을 제공합니다.
다음은 다양한 가져오기 옵션입니다:
옵션 | 설명 |
---|---|
FileOptions |
|
ImportCsvOptions |
|
ImportSSJsonOptions |
|
ImportXlsxOptions |
|
다음 코드 구현은 파일 가져오기 작업을 수행하는 방법을 보여줍니다:
//file blob 가져오기.
var file = document.getElementById("fileInput").files[0];
// import
spread.import(file, function () {
// 성공 콜백
}, function (e) {
console.log(e); // error 콜백
}, {
fileType: GC.Spread.Sheets.FileType.excel
});