Raw parse만으로 table 이해 가능
SheetJS cell grid만 보고 자동 탐지하면 File 3을 131 rows / 9,835 values로 본다.
문제: used range, hidden/outline, filter, 현재 view, formula provenance를 품질 기준에 넣지 않음.
회의 랩업에서 정리된 실제 니즈는 사용자가 ERP 또는 사내 시스템 데이터를 가져와 “이 양식처럼 엑셀 뽑아줘”라고 요청하면, 미리 등록된 task가 데이터를 전처리하고 template schema에 맞춰 값을 꽂은 뒤 read-only preview, 확인·수정, 다운로드까지 제공하는 흐름이다.
자유형 Excel Q&A와 정형 산출물 생성은 다른 제품이다. 아래 흐름은 후자에 맞춘다.
SheetJS cell grid만 보고 자동 탐지하면 File 3을 131 rows / 9,835 values로 본다.
문제: used range, hidden/outline, filter, 현재 view, formula provenance를 품질 기준에 넣지 않음.
File 3의 autoFilter는 A5:CZ197이다. 하지만 value range E:CZ는 전부 hidden block이다.
결론: filter는 중요한 메타지만, 단독 extraction scope가 되면 현재 FY2026 영역을 놓친다.
Sheet profile로 header rows 3~5, data row 6~, dimension A:D, value E:JM를 확정했다.
결과: 210 rows / 269 value columns / 25,411 non-null values / 7,350 formula cells.
각 long row가 sourceAddress를 들고 있으므로, 업무 fact를 cell patch로 바꿔 원본 양식에 다시 넣을 수 있다.
단, LLM은 주소 계산자가 아니라 mapping 후보 설명·확인 질문 생성자로 제한해야 한다.
rawCell = { address: "FS6", v: 1005.7679479999999, f: null, hidden: false } normalizedRow = { sourceAddress: "FS6", dimensions: { division: "OOO부문", team: null, item: "매 출 액" }, header: { fiscalYear: "FY2026", period: "4월", valueType: "전추정" }, value: 1005.7679479999999 }
Agent Admin을 플랫폼으로 키우지 않고 1차 Registry 수준으로 자르려면, 코드 배포가 아니라 “업무 task와 template mapping contract”를 등록하는 구조가 현실적이다.
when {
item: "매 출 액",
fiscalYear: "FY2026",
period: "4월",
valueType: "전추정",
division: "OOO부문"
}
then {
targetAddress: "FS6",
editable: true,
preserveStyle: true,
preserveFormula: false
}
| 단계 | 처리 | 책임 |
|---|---|---|
| 1 | ERP/SEP rows를 task input schema로 parse | Preprocessor |
| 2 | 조직/기간/지표명을 업무 fact로 정규화 | Task logic |
| 3 | mapping rule로 fact → sourceAddress 찾기 | Mapping engine |
| 4 | 원본 workbook copy의 cell.v만 patch | SheetJS writer |
| 5 | 수식, 스타일, 필터, hidden, 병합 구조 보존 | Template |
| 6 | Excel/LibreOffice/뷰어에서 재계산·read-only preview | Renderer |
patches = [ { address: "FS6", oldValue: 1005.7679, newValue: 1200.0, reason: "ERP 4월 전추정 매출액" }, { address: "FS7", oldValue: 90.7634, newValue: 110.2, reason: "ERP 4월 전추정 매출이익" } ] preserved = [ "FT6 formula +FT12+FT30", "FU6 formula FT6-FS6", "number formats and hidden columns" ]
LLM이 template profile, sample rows, sourceAddress map, 업무 용어 사전을 입력으로 받으면 어떤 데이터가 어느 영역에 들어가야 하는지 설명하고 확인 질문을 만들 수 있다.
필터 범위, 숨김 열, freeze pane, formula provenance가 얽힌 Excel은 raw parse만으로 정확히 이해하기 어렵다. 사용자 확인 또는 등록 프로파일이 필요하다.
1차는 업무 N개를 registry에 등록하고, 각 task마다 input schema와 template mapping schema를 확정한다. 자유형 Excel 분석은 보조 기능으로 분리한다.