안녕하세요 그레이프시티입니다.
문의 주신 내용에 대해 답변 드립니다.
1. 컬럼 속성 중, 숫자만 입력가능한 방법이 있을까요?
- 숫자를 제외한 내용 입력시 입력되지 않도록 방지
- 숫자 입력 후 천원 단위로 , 표시
=> 특정 값만 입력이 가능하게 하기 위해서는 데이터 유효성 검사를 사용하시면 됩니다. 유효성 검사를 통해 셀의 값을 ISNUMBER 함수를 통해 숫자인지 판별한 뒤, 숫자가 아니면 원본 값으로 돌아가게끔 구현이 가능하십니다. 정의된 유효성 검사는 셀 데이터 유효성 검사를 설정하는 setDataValidator 메서드를 통해 적용하실 수 있습니다. 샘플에서는 0번째 열 인덱스에서 숫자가 입력하게끔 설정하였으며 자세한 코드는 아래 샘플에서 확인하시길 바랍니다. 더불어 천원 단위 표시 서식을 지정하기 위해서는 setFormatter 함수를 사용하시면 됩니다.
[setDataValidator]
https://www.grapecity.com/spreadjs/docs/v14/online/SpreadJS~GC.Spread.Sheets.Worksheet~setDataValidator.html?highlight=setdatavalidator%2C
2. 컬럼 속성 중, FileUpload를 할수 있는 속성이 있을까요?
=> 문의 주신 내용이 Excel 파일 가져오기를 말씀하시는 것이라면 SpreadJS는 Excel IO 인스턴스를 초기화하여 SpreadJS JSON으로 open 메서드를 사용하여 파일을 가져옵니다. 아래 저희 Excel IO 데모를 참고하여 주시기 바랍니다.
- Excel IO : https://demo.grapecity.co.kr/spreadjs/learn-spreadjs/features/workbook/excel-import-export/purejs
3. 컬럼 속성 중, 년-월-일을 선택할수 있는 속성이 있을까요?
=> SpreadJS 드롭다운에서 dateTimePicker 타입과 Style 인스턴스를 이용하여 구현하실 수 있습니다. Style 인스턴스 생성 후, 해당 인스턴스의 버튼의 command를 "openDateTimePicker"로 할당하고 드롭다운의 옵션 중 showTime 속성을 false로 두면 달력에서는 년-월-일만 표시되는 것을 확인하실 수 있습니다. 해당 기능에 대한 코드는 1번 샘플에서 확인하실 수 있습니다.
[DropDownType]
https://www.grapecity.com/spreadjs/docs/v14/online/SpreadJS~GC.Spread.Sheets.DropDownType.html
4. Table 표시 후 부분 합계를 표시하고 싶으면 어떻게 하면 될까요?
- Each Sum은 각 컬럼의 합계를 나타내며,
- Total Sum은 모든 컬럼의 합계를 표시합니다.
=> 먼저 각 열의 합계를 표시하기 위해서는 Table의 바닥글을 표시 유무를 결정하는 showFooter를 true로 두고 특정 인덱스와 함께 테이블 바닥글에 수식을 설정하는 setColumnFormula에 열 인덱스와 SUM 수식을 할당하면 됩니다. 그 다음,각 컬럼의 합계 값이 들어있는 셀들의 영역을 설정하고 setFormula를 통해 합을 계산하면 모든 컬럼의 합계를 계산할 수 있습니다. 아래 샘플을 참조하시기 바랍니다.
[setFormula]
https://www.grapecity.com/spreadjs/docs/v14/online/SpreadJS~GC.Spread.Sheets.Worksheet~setFormula.html
각 도움말 문서도 같이 전달 드리오니 참고 부탁 드립니다.
다른 궁금한 점이 생기면, 언제든 문의 주시기 바랍니다.
감사합니다.
그레이프시티 드림
* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.