4

私の Java EE Web アプリは、XSLT 変換を使用して CSV レポートを生成します。XSLT でエンコーディングとして「UTF-16」を指定すると (XML でアクセント付き文字を処理する唯一の方法のようです)、CSV 出力の先頭にバイト オーダー マーク文字が表示されます

。これは正しい動作です。問題は、CSV を Excel で開いた場合にこの BOM 文字が表示されることです (þÿ として表示されます) が、適切なテキスト エディターで開いた場合は表示されません;)

この文字を非表示または省略して表示されないようにするにはどうすればよいですか?ファイルを Excel で開いたとき

4

2 に答える 2

5

使用しているXSLTのバージョンを指定するのを忘れました。

XSLT 2.0を使用している場合は、xsl:output要素を使用してBOMを抑制することができます。例えば...

<xsl:output method="xml" byte-order-mark="no" encoding="UTF-16" indent="yes" omit-xml-declaration="yes" />

XSLT 1.0を使用している場合はどうなりますか?

2つのオプションがあります。

  1. XSLT2.0にアップグレードします
  2. Excelを2007にアップグレードします(理由についてはこちらをご覧ください)
于 2012-11-08T22:42:38.777 に答える