- ベストアンサー
CSVダウンロードファイルをEXCELで表示する
- CSVファイルをダウンロードすると、ダイアログボックスが表示され、「開く」「保存」「キャンセル」のボタンが表示されます。
- 保存してからEXCELで開くと、カンマで区切られたデータが各セルに1つずつ入った形で表示されます。
- 「開く」ボタンを押すと、EXCELが起動し、一番左側のセルに「XXXX」「xxxxx」「AAA」のように表示されます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ダウンロードと同時にEXCELで開くとなると、データの受信側だと難しいですね OSによって差はあるんですが、ダウンロードと同時にはOSがファイル形式を認識してくれていないので、ブラウザから直接だと正常に開かず、保存してからだとうまくいくという不具合は結構あるのです ブラウザから直接Excel起動してCSVを開く場合は、リクエストしたURLのファイルの拡張子を判定して何の種類のファイルかを判定しているため(XPなどのOSではリクエストURLにファイル名まで認識されません) 一応ダウンロード元のサイト?が Content-Disposition: attachment;filename=~ というような指定をしてくれれば、ブラウザから直接CSVを開いても正常にセルに反映されるのですが、ダウンロード元サイトをいじれないと難しいかもしれません 参考までに同じような議論があった質問掲示板を載せてみます http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34352&forum=7 http://bbs.hotfix.jp/ShowPost.aspx?PostID=1830
その他の回答 (3)
- yui56544
- ベストアンサー率69% (85/123)
うーん、私もASP分野になるとまだ勉強不足なところもあり、ちょっと回答は難しいです^^; ↓の書き方ははじめて見たもので… response.setContentType("application/x-msbinary"); 一応、以前勉強していた中で見た、これと同様のASPでのダウンロード形式指定に関する掲示板スレッドなどを載せてみます おそらく、私ではこれ以上はチカラ不足でお答えできそうにありません。申し訳ないです^^; http://www.tohoho-web.com/lng/200003/00030057.htm http://www.atmarkit.co.jp/fjava/javatips/028jspservlet019.html
お礼
いろいろな参考になるサイトを教えていただきましてありがとうございます。 教えていただいたことを参考にしながら、あれやこれや試してみます。
- yui56544
- ベストアンサー率69% (85/123)
ちょっとご希望に沿うかわかりませんが… エクセルで直接CSVを開くのではなく、設定を保存できる変換ツール(コンバートツール)を利用するのは如何でしょう? 例えば、 CSVエクセル変換 http://www.onepg.com/cat5/csvms_excel/ <ツールのやま>CSVファイルをExcelへ一括変更 http://www.vector.co.jp/soft/win95/business/se414612.html などでしたら、初期設定(カンマでセルを区切る指定などの設定)さえしておけば、あとは毎回ボタン一つでエクセルに変換できます。 VECTORで「CSV 変換」で検索すれば使い勝手のよいフリーソフトが見つかると思いますよ
お礼
ご教授ありがとうございました。 CSV変換ソフトはツールとしてはよい手法だと思います。 しかし、一旦ダウンロードしたファイルをPCに保存してからでないと利用できませんので、 解決には至りませんでした。
- sugar59
- ベストアンサー率33% (5/15)
開いた瞬間に区切られた状態で表示させる方法はわかりませんが、 セルの中にまとまっているカンマ区切りのデータEXCELの操作でセル区切りに変えることができます。 EXCEL2003での操作は次の通りです。 データがあるセルを選択→データ→区切り位置→「カンマやタブの区切り位置によって区切られたデータ」を選択→「次へ」ボタン→区切り文字から「カンマ」を選択→「次へ」ボタン→完了ボタン 以上の操作でセル区切りに表示が変わります。
お礼
さっそくのご教授ありがとうございます。 教えていただいた方法は私も存じております。 この操作は、毎日行われるので、とても面倒です。 この面倒な操作を省略したいと思い質問させていただきました。
補足
ご教授ありがとうございました。 議論の質問掲示板も参考になりました。 サーバー側のプログラムを見たところ、 Content-Disposition: attachment;filename= の通り指定されていました。 この指定の前は、 response.setContentType("application/x-msbinary"); となっています。 ContentTypeの指定がおかしいのでしょうか? お分かりでしたら教えてください。 よろしくお願いします。