- <style> 안 클래스 규칙 읽기가 「.xl65, .xl70 {...}」 같은 묶음 선택자에서 앞쪽 클래스를
놓치던 것 고침(전체 선택자를 쉼표로 나눠 각 클래스에 선언 병합)
- 테두리 pt 굵기 → 우리 선 종류 매핑 추가(.5pt 이하 hair · ~1.25pt thin · ~2pt medium · 그 위
thick, dashed·dotted·double 은 굵기와 상관없이 그 모양) — 「합계 줄 위 굵은 선」처럼 같은
칸 안 굵기가 다른 테두리를 구별해 살림
- 실제 엑셀 내보내기 짜임(머리 채움 · 가는 테두리 · 합계 줄 위 굵은 테두리 · #,##0 숫자 형식)을
재현한 새 견본 resources/tester/spreadsheet/fixture_excel_style_paste.html 로 시험
- ORCA 실 엔진 확인 — 머리 칸 굵게·채움 #d9d9d9·가운데 정렬·사방 hair, 숫자 칸 오른쪽 정렬·
형식 #,##0·사방 hair, 합계 줄 굵게·위 테두리만 medium(나머지 hair)까지 전부 반영 확인
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AeeQRLknEpP4SFjVkjDWDs
78 lines
2.8 KiB
HTML
78 lines
2.8 KiB
HTML
<!-- fixture_excel_style_paste.html — 엑셀이 표 서식(머리 채움 · 가는 선 · 합계 줄 위 굵은 선 · 숫자
|
|
쉼표)을 실제로 어떻게 싣는지 재현(브레인 9-28 사용자 지시 근거 = PLAN.md 12장). 서식 대부분이
|
|
인라인 style 이 아니라 <style> 안 클래스(.xl65 같은 이름 · 묶음 선택자 포함)에 있고 칸에는
|
|
class 만 두는 실제 엑셀 내보내기 짜임을 그대로 씀 — `parseHtmlTable`/`styleFromTd` 가 클래스
|
|
규칙을 인라인과 합쳐 읽는지 이 견본으로 시험. -->
|
|
<html
|
|
xmlns:o="urn:schemas-microsoft-com:office:office"
|
|
xmlns:x="urn:schemas-microsoft-com:office:excel"
|
|
xmlns="http://www.w3.org/TR/REC-html40"
|
|
>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<style>
|
|
<!--table
|
|
{mso-displayed-decimal-separator:"\.";
|
|
mso-displayed-thousand-separator:"\,";}
|
|
.xl_head, .xl_head2
|
|
{background:#D9D9D9;
|
|
font-weight:700;
|
|
text-align:center;
|
|
border:.5pt solid windowtext;}
|
|
.xl_num
|
|
{mso-number-format:"\#\,\#\#0";
|
|
text-align:right;
|
|
border:.5pt solid windowtext;}
|
|
.xl_label
|
|
{border:.5pt solid windowtext;}
|
|
.xl_total_label
|
|
{font-weight:700;
|
|
border-left:.5pt solid windowtext;
|
|
border-right:.5pt solid windowtext;
|
|
border-bottom:.5pt solid windowtext;
|
|
border-top:1.5pt solid windowtext;}
|
|
.xl_total_num
|
|
{mso-number-format:"\#\,\#\#0";
|
|
font-weight:700;
|
|
text-align:right;
|
|
border-left:.5pt solid windowtext;
|
|
border-right:.5pt solid windowtext;
|
|
border-bottom:.5pt solid windowtext;
|
|
border-top:1.5pt solid windowtext;}
|
|
-->
|
|
</style>
|
|
</head>
|
|
<body link="#0563C1" vlink="#954F72">
|
|
<!--StartFragment-->
|
|
<table
|
|
border="0"
|
|
cellpadding="0"
|
|
cellspacing="0"
|
|
width="288"
|
|
style="border-collapse: collapse; width: 216pt"
|
|
>
|
|
<tr height="20" style="height: 15pt">
|
|
<td class="xl_head" width="96" style="width: 72pt" x:str>품목</td>
|
|
<td class="xl_head2" width="96" style="width: 72pt" x:str>수량</td>
|
|
<td class="xl_head2" width="96" style="width: 72pt" x:str>금액</td>
|
|
</tr>
|
|
<tr height="20" style="height: 15pt">
|
|
<td class="xl_label" x:str>터파기</td>
|
|
<td class="xl_num" x:num>120</td>
|
|
<td class="xl_num" x:num>1200000</td>
|
|
</tr>
|
|
<tr height="20" style="height: 15pt">
|
|
<td class="xl_label" x:str>메우기</td>
|
|
<td class="xl_num" x:num>80</td>
|
|
<td class="xl_num" x:num>800000</td>
|
|
</tr>
|
|
<tr height="20" style="height: 15pt">
|
|
<td class="xl_total_label" x:str>합계</td>
|
|
<td class="xl_total_num" x:num>200</td>
|
|
<td class="xl_total_num" x:num>2000000</td>
|
|
</tr>
|
|
</table>
|
|
<!--EndFragment-->
|
|
</body>
|
|
</html>
|