web-dev-qa-db-ja.com

ExcelはHTMLのフォーマットを主張します

MSSQLクエリからExcel2007スプレッドシートに約15,000行のデータをコピーする必要があります。一部のセルにはプレーンテキストとしてHTMLが含まれており、これらのほとんどにはHTMLテーブルが含まれています。 HTMLをExcel、タグ、その他すべてでプレーンテキストのままにしておきたい。しかし、私が何をしても、Excelはタグを見てテーブルをレンダリングし、シートを完全に台無しにします。セルをテキストとしてフォーマットすることはできません。特殊貼り付け>テキストが機能しません。 HTMLを含む個々のセルのテキストを数式バーに直接コピーすることは機能しますが、それは15,000行の実行可能なソリューションではありません。

HTMLは一度管理したので、プレーンテキストとして保持できることはわかっています。方法を覚えていません。反対の問題を抱えている人からの他の質問も見たので、機能は確かに存在します。

私は非常にイライラしており、あなたの助けに深く感謝します。

編集:

@variant:メモ帳に貼り付けてそこからテキストをコピーすると、クエリ結果を直接コピーするのと同じ結果が得られます。また、メモ帳に貼り付けたデータはタブ区切りになり、HTMLにはインデントタブがあるので、書式をなくしても列がめちゃくちゃになると思います。テキストにはカンマも含まれているため、.csvとして保存しても役に立ちません。 (私はそれを試しました。)

@Jay:これはHTMLの例で、無関係なテキストが置き換えられています。水平スクロールについては申し訳ありませんが、これはisの書式設定の質問なので、テキストをそのまま貼り付けるのが最善だと思いました。 (私は<li>タグが閉じられていないことを知っています。この場合、悪いHTMLを修正することには関心がありません。)

    <center>  <table border="1" width="400" style="border: 1 solid #808080" cellpadding="2" cellspacing="0" bordercolor="#C0C0C0">      <tr align="center">      <td bordercolor="#800000" width="100%" height="14" style="background-color:#800000;"><font color="white">Header text</font></td>      </tr>      <tr>        <td width="100%" height="14">Paragraph of text</td>      </tr>      <tr align="center">        <td bordercolor="#800000" width="100%" height="14" style="background-color:#800000;"><font color="white">More text</font></td>      </tr>      <tr>        <td width="100%" height="14">  <ul><li>Bullet point   <li>Bullet point   <li>Bullet point   <li>Bullet point   <li>Bullet point   <li>Bullet point   <li>Bullet point</ul></td>      </tr>      <tr align="center">        <td bordercolor="#800000" width="100%" height="14" style="background-color:#800000;"><font color="white">More text</font></td>      </tr>      <tr>        <td width="100%" height="14">Some final text</td>      </tr>    </table>  </center>
8
Mouse

最終的に機能したのは、SQLクエリを書き直して、すべてのフィールド間にパイプ(|)を追加し(パイプはどのテキストにも表示されなかったため)、結果をテキストファイルに保存し、パイプ区切りデータとしてインポートすることでした。インポートダイアログですべての列をテキストとしてフォーマットします。

3
Mouse

最初にテキストをテキストエディタに貼り付けます。 「<」のすべてを置き換えて、未使用の文字(^など)に変更します。テキストをコピーしてExcelに貼り付けます。 Excelに入ると、すべての^を<に戻すことができます。

0
Rich Deem

Excelは役立つように努めています。テーブルタグがあるので、すべての<td>値がセルであると想定します。

セルをコピーする前に、セルを選択し、(マウスの右メニューから)[セルの書式設定]操作を実行して、[数値]タブでテキストを選択します。

私はあなたの文字列でそれをテストしませんでしたが、私はこの文字列でそれをテストしました:

<table><tr><td>1</td><td>2</td></tr></table>

一般的な書式設定では、値が1と2の2つのセルを貼り付けます。書式設定をテキストに設定すると、テキスト文字列全体が1つのセルに貼り付けられます。

0
Jay Elston

HTMLスマートタグがあるかどうかを確認してください。 Microsoft Officeボタン> Excelオプション> 校正> オートコレクトオプション> スマートタグをクリックします。 =。チェックを外しますこのワークブックにスマートタグを埋め込みます。ファイルを保存してExcelを再起動します。これが役立つかどうかを確認してください。

0
Ellesa