【KBJ10040】UltraWebGridExcelExporterでダウンロードするファイル名が文字化けする

0 ユーザーが評価
この投稿には確認済みの回答があります。 0 返信 | 1 サポーター

トップ 10 投稿者 
男性
投稿 45
IG Employee
[IG] 山田 達也 投稿済み: 2009/11/10 9:59

 

【概要】
UltraWebGridExcelExporterを使ってExcelファイルをダウンロードするとき、ファイル名が文字化けするときの対処法
 
【該当するコンポーネント】
UltraWebGridExcelExporter
 
【該当するバージョン】
全てのバージョン
 
【記事の種類】
Tips
 
【詳細】
UltraWebGridExcelExporterを使ってExcelファイルをクライアントに送出する際、ファイル名に日本語文字列を指定すると文字化けした名前でダウンロードされてしまうことがあります。
 
この場合、以下のマイクロソフト社のKBにありますように、IE5以降における問題に起因するものである可能性があります。
 
 
【ファイルをダウンロードするASP.NET Webページで日本語ファイル名が文字化けする】
 
上記リンク先に記載があるように、回避方法としてはレスポンスヘッダーのエンコードを shift-jis に変更する必要があります。ここでは2通りの方法をご紹介します。
 
 
 
(方法1) Web.config上のSystem.Web以下にGlobalization要素を追加してエンコードを指定
 
例)
 
 <system.web>
    <globalization responseHeaderEncoding="shift-jis"/>
 
 
(方法2) Exportを行う際に個別にエンコード指定を行う
(C# 例)
 
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.HeaderEncoding = System.Text.Encoding.GetEncoding("shift-jis");
            string downloadName = "日本語名Excelシート";
            string worksheetName = "シート1";
 
            this.UltraWebGridExcelExporter1.DownloadName = downloadName;
            this.UltraWebGridExcelExporter1.WorksheetName = worksheetName;
            this.UltraWebGridExcelExporter1.Export(this.UltraWebGrid1);
        }
 
(VB 例)
 
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Response.HeaderEncoding = System.Text.Encoding.GetEncoding("shift-jis")
        Dim downloadName As String = "日本語名Excelシート"
        Dim worksheetName As String = "シート1"
 
        UltraWebGridExcelExporter1.DownloadName = downloadName
        UltraWebGridExcelExporter1.WorksheetName = worksheetName
        UltraWebGridExcelExporter1.Export(UltraWebGrid1)
    End Sub
    EndSub
 
 
なお、これらの設定はデバッグ時に使用するASP.NET開発サーバーでは有効にはなりませんのでご注意ください。動作をご確認いただくためには、IISへの配置が必要となります。
 

 

ページ 1 / 1 (1 項目) | RSS
Infragistics Japan
インフラジスティックス ジャパン