概要
PDFやWebサイトからコピーした際に発生する「スペース区切り」「不要なクォート」「Markdown表」「タブ区切り」の差異を自動判定し、矩形テーブルとして列数を正規化してクリップボードに復元するツールです。
実装ポイント
多種多様な区切り文字の自動判定: Markdownのパイプ(|)、TSV(\t)、CSV(,)、連続空白(\s{2,})を順次フォールバック判定。
列数の正規化(最大列揃え): 欠損セルのある行を自動補正して矩形データを維持。
ゼロ通信: クライアントサイドJavaScriptのみで完結。
コピペ表・崩れ修復&テーブルクリーナー
📋 崩れた表テキストをペースト
完全オフライン処理
<div class="options-bar">
<label><input type="checkbox" id="optTrim" checked onchange="repairTable()"> 各セルの余白をトリム</label>
<label><input type="checkbox" id="optRemoveQuotes" checked onchange="repairTable()"> 余計な引用符(")を削除</label>
<label><input type="checkbox" id="optCollapseSpaces" checked onchange="repairTable()"> 連続空白を区切りに変換</label>
</div>
<div class="btn-bar">
<button class="btn-secondary" onclick="loadSample()">サンプル読み込み</button>
<button class="btn-secondary" onclick="document.getElementById('rawInput').value=''; repairTable();">クリア</button>
</div>
<div class="stats-bar">
<span id="inputStats">入力行数: 0 行</span>
</div>
</div>
<!-- 右:修復結果 -->
<div class="card">
<div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;">
<label style="font-weight:bold; font-size:0.9rem;">✨ 修復済みテーブル</label>
<div class="format-tabs">
<button class="tab-btn active" id="tabTSV" onclick="setFormat('tsv')">Excel貼付用 (TSV)</button>
<button class="tab-btn" id="tabMD" onclick="setFormat('md')">Markdown</button>
<button class="tab-btn" id="tabCSV" onclick="setFormat('csv')">CSV</button>
</div>
</div>
<textarea id="cleanedOutput" readonly placeholder="修復された表がここに表示されます..."></textarea>
<div class="btn-bar">
<button class="btn-primary" onclick="copyCleaned()">修復データをコピー (Excel直貼り可)</button>
<button class="btn-secondary" onclick="downloadFile()">ファイル保存</button>
</div>
<div class="stats-bar">
<span id="outputStats">修復結果: 0 行 × 0 列</span>
<span style="color:var(--success);">✅ そのままExcel / スプレッドシートに貼付可</span>
</div>
</div>
クリップボードにコピーしました