diff --git a/A00_Common/spreadsheet/spreadsheet_numfmt.ts b/A00_Common/spreadsheet/spreadsheet_numfmt.ts index 66215037..506bd21b 100644 --- a/A00_Common/spreadsheet/spreadsheet_numfmt.ts +++ b/A00_Common/spreadsheet/spreadsheet_numfmt.ts @@ -44,7 +44,10 @@ function splitSections(code: string): string[] { cur += ch; continue; } - if (ch === "\\" && i + 1 < code.length) { + if (ch === "\\") { + // 형식 끝에 홀로 남은 역슬래시 · 구역 나눔(`;`) 바로 앞 역슬래시는 깨진 자투리로 보고 버림 + // (엑셀 붙여넣기가 잘려 남긴 것 — 2026-09-28 실측 rv.json). 그 밖엔 원래대로 다음 글자를 이스케이프. + if (i + 1 >= code.length || code[i + 1] === ";") continue; cur += ch + code[i + 1]; i++; continue; @@ -108,8 +111,9 @@ function tokenize(s: string): { toks: Tok[]; fillChar?: string } { i = j; continue; } - if (ch === "\\" && i + 1 < s.length) { - toks.push({ k: "lit", ch: s[i + 1] }); + if (ch === "\\") { + // 홀로 남은 역슬래시(뒤에 이스케이프할 글자가 없음)는 굴림 등 글꼴에서 ₩ 모양으로 보여 버림. + if (i + 1 < s.length) toks.push({ k: "lit", ch: s[i + 1] }); i++; continue; } @@ -449,8 +453,8 @@ function detectDateFormat(s: string): DatePart[] | null { i = j + 1; continue; } - if (ch === "\\" && i + 1 < s.length) { - parts.push({ k: "lit", text: s[i + 1] }); + if (ch === "\\") { + if (i + 1 < s.length) parts.push({ k: "lit", text: s[i + 1] }); i += 2; continue; } diff --git a/resources/knowledge/original/실무문서/2024년 간선임도(기번3-울진.대흥)(2공구)/수량산출/~$4.2 수량산출(2공구).xlsx b/resources/knowledge/original/실무문서/2024년 간선임도(기번3-울진.대흥)(2공구)/수량산출/~$4.2 수량산출(2공구).xlsx deleted file mode 100644 index 6b57c04d..00000000 Binary files a/resources/knowledge/original/실무문서/2024년 간선임도(기번3-울진.대흥)(2공구)/수량산출/~$4.2 수량산출(2공구).xlsx and /dev/null differ diff --git a/resources/knowledge/original/실무문서/2024년 간선임도(기번3-울진.대흥)(3공구)/수량산출/~$4.3 수량산출(3공구).xlsx b/resources/knowledge/original/실무문서/2024년 간선임도(기번3-울진.대흥)(3공구)/수량산출/~$4.3 수량산출(3공구).xlsx deleted file mode 100644 index 6b57c04d..00000000 Binary files a/resources/knowledge/original/실무문서/2024년 간선임도(기번3-울진.대흥)(3공구)/수량산출/~$4.3 수량산출(3공구).xlsx and /dev/null differ diff --git a/resources/master_template/material/rv.json b/resources/master_template/material/rv.json index 3f3a6ad6..2709b17b 100644 --- a/resources/master_template/material/rv.json +++ b/resources/master_template/material/rv.json @@ -52,7 +52,7 @@ }, { "가로": "center", - "형식": "_ * #,##0.00_ \\", + "형식": "_ * #,##0.00_ ", "테두리": { "위": { "선": "hair" @@ -61,7 +61,7 @@ }, { "가로": "center", - "형식": "_-* #,##0.00_-\\", + "형식": "_-* #,##0.00_-", "테두리": { "위": { "선": "hair" @@ -86,7 +86,7 @@ }, { "가로": "center", - "형식": "0.00_)\\", + "형식": "0.00_)", "테두리": { "위": { "선": "hair" @@ -132,7 +132,7 @@ }, { "가로": "center", - "형식": "_-* #,##0_-\\", + "형식": "_-* #,##0_-", "테두리": { "위": { "선": "hair" @@ -144,7 +144,7 @@ }, { "가로": "center", - "형식": "_-* #,##0.0_-\\", + "형식": "_-* #,##0.0_-", "테두리": { "위": { "선": "hair" @@ -168,7 +168,7 @@ }, { "가로": "center", - "형식": "_-* #,##0.00_-\\", + "형식": "_-* #,##0.00_-", "테두리": { "위": { "선": "hair" @@ -179,7 +179,7 @@ } }, { - "형식": "_-* #,##0.00_-\\", + "형식": "_-* #,##0.00_-", "테두리": { "위": { "선": "hair" @@ -224,7 +224,7 @@ }, { "가로": "center", - "형식": "0.00_)\\", + "형식": "0.00_)", "테두리": { "위": { "선": "hair" @@ -282,7 +282,7 @@ }, { "가로": "center", - "형식": "_ * #,##0.00_ \\", + "형식": "_ * #,##0.00_ ", "테두리": { "아래": { "선": "hair" @@ -298,7 +298,7 @@ }, { "가로": "center", - "형식": "0.00_)\\", + "형식": "0.00_)", "테두리": { "아래": { "선": "hair" @@ -414,11 +414,11 @@ }, { "가로": "center", - "형식": "_ * #,##0.00_ \\" + "형식": "_ * #,##0.00_ " }, { "가로": "center", - "형식": "_-* #,##0.00_-\\" + "형식": "_-* #,##0.00_-" }, { "테두리": { @@ -495,7 +495,7 @@ }, { "가로": "center", - "형식": "0.00_)\\", + "형식": "0.00_)", "테두리": { "아래": { "선": "thin" diff --git a/resources/tester/spreadsheet/fixture_excel_user_won.html b/resources/tester/spreadsheet/fixture_excel_user_won.html new file mode 100644 index 00000000..8f4cbe79 --- /dev/null +++ b/resources/tester/spreadsheet/fixture_excel_user_won.html @@ -0,0 +1,745 @@ +Version:1.0 +StartHTML:0000000366 +EndHTML:0000024378 +StartFragment:0000015411 +EndFragment:0000024326 +SourceURL:file:///D:/02_Software_Prog/임도설계%20및%20견적자동화%20프로그램%20개발/resources/knowledge/original/실무문서/2024년%20간선임도(기번3-울진.대흥)(공통)/1.%20설계원본/02%20산출자료/5.%20구조도(기번3).xlsx + + + +
+ + + + + + + + + + +| 1.터파기 | +토사(100%) | +{ ( | +2.00 | ++ | +4.20 | +) | +÷ | +2 | +} | +× | +2.20 | +× | +1.0 | +× | +100% | ++ | + | = | +6.82 | +㎥ | ++ | ||
| 암(0%) | +{ ( | +2.00 | ++ | +4.20 | +) | +÷ | +2 | +} | +× | +2.20 | +× | +1.0 | +× | +0% | ++ | + | = | +0.00 | +㎥ | ++ | |||
| 2.되메우기 | +일반토사 | +[ { ( | +2.00 | ++ | +3.70 | +) | +÷ | +2 | +× | +1.7 | +} - { | +3.14 | +× | +0.60 | +²} | +] | +× | +1.0 | ++ | = | +3.71 | +㎥ | ++ |
| { ( | +3.70 | ++ | +4.20 | +) | +÷ | +2 | +} | +× | +0.50 | +× | +1.0 | ++ | + | + | + | + | = | +1.97 | +㎥ | ++ | |||
| 계 : | ++ | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | = | +5.68 | +㎥ | ++ | ||
| 4.잔 토 | ++ | + | 1식 | +- | +3식 | ++ | + | + | + | + | + | + | + | + | + | + | + | + | = | +4.85 | +㎥ | ++ | |