ExcelはHTMLのフォーマットを要求します


9

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

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

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

編集:

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

@ジェイ:これは無関係なテキストが置き換えられたHTMLの例です。横スクロールについて申し訳ありません-これフォーマットの質問なので、テキストをそのまま貼り付けるのが最善だと思いました。(<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>

これは少し逆の方法ですが、Excelにドロップする前に、メモ帳でフィルタリング(つまり、貼り付けてフォーマットを取り除き、そこから再度コピーする)すると便利な場合があります。
バリアント

この質問にコピー/貼り付けしようとしているテキストの例はありますか?私はこれを試してみました:<html> <head> </ head> <body> <b> bold </ b> </ body> </ html>セルからセルにコピー/ペーストできました。
Jay Elston、

@JayElstonが彼の質問に対するマウスの更新を確認します。
studiohack

Wayyy古いが、誰かに関連している可能性がある:ExcelはSQLクエリをセルコンテンツのソースとして使用できます。support.office.com/en-us/article/...
斬Lynxの

回答:


3

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


バガー私、それは単にコピー/貼り付けのためのPITAです!今日もこれで頭をかいてきたのでよろしくお願いします!
franglais 14年

0

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


[埋め込みスマートタグ]オプションは既にオフになっています。
マウス

0

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

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

私はあなたのストリングではテストしませんでしたが、このストリングでテストしました:

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

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


最初はもっとはっきりしていたはずです。ExcelではなくMicrosoft SQL Server Management Studioからデータをコピーしているので、書式設定オプションはありません。しかし、あなたの提案に基づいて、データをExcelに貼り付け、セルをテキストとして書式設定し(変更なし)、新しく書式設定されたセルをコピーして貼り付けようとしました。まだ何もない。編集:@Jay
マウス

@マウス-ああ、私はあなたの質問をもっと注意深く読んでいるべきだった。テキスト入力の問題を再現できます。上記の単純なテーブルをテキストファイルから貼り付けると、未加工のhtmlが貼り付けられます。セルを選択し、切り取りまたはコピーして貼り付けた場合、未加工のhtmlが再度貼り付けられます。数式バーでテキストを選択してコピーした場合、それをセルに貼り付けます(セルの形式を変更したものでも)、セルの値のみを含む2つの個別のセルとして貼り付けます。
Jay Elston、

0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.