안녕하세요 그레이프시티입니다.
문의 주신 내용에 답변 드립니다.
1. 병합된 Cell에 붙여 넣기
=> 문의 주신 내용이 병합된 셀을 가진 Excel 파일을 import 후, 해당 셀에 setValue를 이용하여 값을 넣고 싶으시다는 말씀이 맞으실까요? 맞으시다면 엑셀 파일을 가져오는 동안 fromJSON에서 로딩 상태를 가져올 수 있는 incrementalLoading의 loading 콜백에서 시트에 접근하여 해당 영역에서 병합된 셀에 인덱스에 setValue를 설정해보시기 바랍니다. 아래 코드를 참고하여 주시기 바랍니다.
loadExcel(e) {
(...)
excelIo.open(excelFile, function (json) {
let workbookObj = json;
if (incrementalEle.checked) {
spread.fromJSON(workbookObj, {
incrementalLoading: {
loading: function (progress, args) {
//progress = progress * 100;
//loadingStatus.value = progress;
args.sheet.setValue(1,2,"viewport", GC.Spread.Sheets.SheetArea.viewport);
},
(...)
}
2. 병합된 Cell의 좌표를 읽는 방법
=> 해당 기능을 구현하기 위해서 1번 답변의 loading 콜백에서 지정된 시트 영역에서 지정된 범위의 span을 가져오는 getSpans 메서드를 통해 확인하실 수 있습니다. 아래 코드를 참고하여 주시기 바랍니다.
loadExcel(e) {
(...)
// here is excel IO API
excelIo.open(excelFile, function (json) {
let workbookObj = json;
if (incrementalEle.checked) {
spread.fromJSON(workbookObj, {
incrementalLoading: {
loading: function (progress, args) {
(...)
var spans= args.sheet.getSpans();
for(var i = 0; i < spans.length; i++){
console.log(spans[i].row);
console.log(spans[i].rowCount);
console.log(spans[i].col);
console.log(spans[i].colCount);
}
},
(...)
}
코드들은 Excel IO 데모 기준으로 작성된 코드이오니 필요 시 참고 부탁 드립니다.
- Incremental Loading : https://www.grapecity.com/spreadjs/docs/latest/online/incremental-loading.html?highlight=incrementalloading%2C
- getSpan : https://www.grapecity.com/spreadjs/docs/latest/online/SpreadJS~GC.Spread.Sheets.Worksheet~getSpans.html?highlight=getspans%2C
도움말 문서를 같이 전달 드리며 다른 궁금한 점이 생기면, 문의 주시기 바랍니다.
감사합니다.
그레이프시티 드림
* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.