- - PR -
DataGridをWEBフォーム上でExcel表示してシート名が文字化け
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-05-14 14:26
お世話さまです。
DataGridをExcelシートとしてWEBフォームにシート名をつけて表示したいのですが、 1バイトコードの名称(ローマ字表記等)では上手く行くのですが、 2バイトコード(倍角漢字)だと文字化けしてしまいます。 Dim fname As String Response.ContentEncoding = System.Text.Encoding.GetEncoding("shift-jis") Response.ContentType = "application/vnd.ms-excel" fname = System.Web.HttpUtility.UrlEncode("総括表.xls") Response.AppendHeader("content-disposition", "attachment; filename=" + fname) 過去ログを参考にして上記のようにコーディングしてみたのですが、 これ以外にも何か指定が必要なのでしょうか? 文字化けに関する具体的な現象は次のようになっています。 ・「開く」か「保存」かを聞いてくるポップアップ画面のファイル名は 正しく「総括表.xls」と表示される。 ・「保存」すると、保存されたファイル名もそのシート名も正しく「総括表.xls」 と表示される。 ・「開く」でWEB画面にExcelシートを表示するとそのシート名が 「%e7%b7%8f%e6%8b%ac%e8%a1%a81」と化け、ファイル名も 「%e7%b7%8f%e6%8b%ac%e8%a1%a8[1].xls」と表示される。 以上、ご教示のほど宜しくお願い致します。 |
|
投稿日時: 2003-05-21 16:49
自己レスです。
MSに問い合わせたところ、下記の方法でシート名に漢字名称を つけることができました。 <HTML xmlns:x="urn:schemas-microsoft-com:office:excel"> <HEAD> <title>WebForm1</title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0"> <meta name="CODE_LANGUAGE" content="Visual Basic 7.0"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5"> <!-- Excel XML タグの記載例 ここから --> <!--[if gte mso 9]><xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name>Sample Workbook</x:Name> <x:WorksheetOptions> <x:Print> <x:ValidPrinterInfo/> </x:Print> </x:WorksheetOptions> </x:ExcelWorksheet> </x:ExcelWorksheets> </x:ExcelWorkbook> </xml><![endif]--> <!-- Excel XML タグの記載例 ここまで --> </HEAD> MSからの回答にもあったんですが、結局、asp.vbのコード内で 漢字名称をつけることはできないようです。 |
|
投稿日時: 2003-05-21 16:51
引き続き事故レスです。^^;
<x:Name>Sample Workbook</x:Name> のことろを <x:Name>総括表</x:Name> とすることでシート名が”総括表”になりました。 |
1