web-dev-qa-db-ja.com

ハイパーリンクをCSV形式のファイルにエンコードする方法は?

CSVファイルセルでHTMLアンカーリンクをエンコードしようとすると、破損してExcelで読み取れなくなります。

CSVファイルセルにハイパーリンクをエンコードするためのHTML以外のソリューションまたは形式がありますか?

35
gep

CSVファイルは単なるテキストです。テキストを解釈する方法は、ロードするプログラム次第です。

Excelでフィードを受け取ったときに文句を言う場合"<a href=\"blah\">Link</a>", "another cell"その後、生のURLのみを試すと、Excelが自動的にリンクに変換することがあります。

しかし、一般的にExcelはHTMLを処理しないため、CSVファイルからHTMLをレンダリングすることを期待することはあまりにも多くを求めます。

7
Malcolm Box

オートマジカリズムが機能せず、間違いなくExcelを使用している場合は、これをフィールドコンテンツとして使用してください。

=HYPERLINK("http://stackoverflow.com")
60
stuartdotnet

これは私のために働いた:

  1. 使用 =HYPERLINK関数、最初のパラメーターはWebリンク、2番目はセル値です。
  2. "は、関数全体を引用符で囲みます。
  3. 関数内の内部引用符を2組の引用符でエスケープします。つまり、""

4列のカンマ区切りのexample.csv

5,6,"=HYPERLINK(""http://www.yahoo.com"";""See Yahoo"")",8

スプレッドシートプログラム(LibreOfficeなど)がこの.csvを開くと、アクティブなリンクが作成されます。

13
Steven S.

Excel 2003でうまくいった理由-CSVにステートメントを出力する:

CELLVALUE="=HYPERLINK("+QM+URLCONTENTS+QM+";"+QM+"URLDISPLAYNAME"+QM+")" 
  • ハイパーリンクで使用されるセミコロン;に注意してください。 Excel 2003ではコンマが機能しないことがわかりました。
  • 引用符を使用するスクリプトまたは言語に応じて、異なる方法で処理できます。 Excelにインポートする前にCSVに入れたセル値は、次のようになります。"=HYPERLINK("URLCONTENTS";"URLDISPLAYNAME")"

どこ:

  • CELLVALUEはCSVに書き込まれる出力です
  • QMはASCII ["]の値->(ASCII 34)
  • URLCONTENTSは、リンクするページの完全なURLです。 -URLDISPLAYNAMEは、Excelセルに表示されるテキストです。

ファイル/プロパティ>タブの概要>フィールドハイパーリンクベース。

Excelでクリックできるように開始点を設定するhttp://www.SITENAME.com/SUB_LOCATION/../SUB_LOCATIONのようなフィールド値として使用します。もちろん、相対パスのサイト名自体が既に正常に解決される場合、SUB_LOCATIONを使用する必要はありません。

見つけられなかったのは、Excelでリンクに自動的に下線を引く方法です。他のヒントから見つけた この記事

すべてのリンクセルを下線付きの濃い青色(たとえば)として手動でフォーマットすると、既にアクセスしたリンクが別の色に変わって標準機能が表示されます。