C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: ASP.NETで既存csvをxlsxに変換して表示したい


(過去ログ 130 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■77203 / inTopicNo.1)  ASP.NETで既存csvをxlsxに変換して表示したい
  
□投稿者/ ラララ (1回)-(2015/09/25(Fri) 08:57:54)

分類:[ASP.NET (VB)] 

ASP.NET初心者です。

ASP.NETでcsv出力結果をxlsx形式に変換して表示させたいです。
現在は、リンクボタンからcsv表示できるところまで完成しているので
これをexcel表示にしたいのです。
ユーザーからの見え方としては、csvがいったん開いて閉じるなどせずに
一発でxlsxファイルとして表示させたいのです。
EXCEL作成ロジックで書き直すより処理も速くてすむかなと思いますが
現在、開発環境がデバッグしながらの改修ができないため、質問させていただきました。

現在CSV表示部分の該当ソースは以下です。
------------------------------------------------------
Dim fname As String

fname = "\\D\Log.csv"
Dim fs As New FileStream(fname, FileMode.Create, FileAccess.Write)
Dim objswriter As New StreamWriter(fs, Encoding.Default)
'CSV書き込み
   objswriter.WriteLine(ww.ToString)
objswriter.Close()
   'CSVを開く
   Response.Redirect("../aspxfile/Viewer.aspx?SyuCd=Syu&FileName=Log.csv")

------------------------------------------------------

どうかご教示お願いします。
引用返信 編集キー/
■77204 / inTopicNo.2)  Re[1]: ASP.NETで既存csvをxlsxに変換して表示したい
□投稿者/ 魔界の仮面弁士 (507回)-(2015/09/25(Fri) 09:32:23)
2015/09/25(Fri) 15:53:25 編集(投稿者)

No77203 (ラララ さん) に返信
> ASP.NETでcsv出力結果をxlsx形式に変換して表示させたいです。

Excel 形式で出力するためのサーバーサイドライブラリが、
オープンソースや有償製品として各種出回っていますので、
そういった物を利用してみて下さい。
EPPlus とか ClosedXML とか NPOI とか SpreadsheetGear とか SmartXLS for .Net とか。
(ASP.NET 上から Microsoft Excel を直接操作するのは御法度です)


> ユーザーからの見え方としては、csvがいったん開いて閉じるなどせずに
> 一発でxlsxファイルとして表示させたいのです。

ダウンロードされる xlsx ファイルを開くという方法、すなわち、
Excel が起動してブラウザ外で開かれる方式で良いのなら、HTTP 応答ヘッダを
 Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
 Response.AddHeader("content-disposition", "attachment; filename=Book1.xlsx")
にした上で、xlsx のバイナリを HTTP 応答ボディで返せば実現できると思います。
https://www.softel.co.jp/blogs/tech/archives/2393


シートをブラウザ内で表示させたい、となると難しいです。(PDF であれば埋め込めるのですけれども)
古いバージョンの Excel + Internet Explorer では、ブラウザ内の表示もできましたが、
最近のバージョンは、ブラウザ上で表示するのではなく、ブラウザ外の Excel 上に
表示するようになっていたはずなので。


どうしてもブラウザ内にスプレッドシートを表示したいのであれば、
xlsx を OneDrive に保存するようにしておき、"Excel Online" による
Web ページ表示を行わせるという手もあります。現実的かどうかは別として。
http://jz5.jp/2013/11/19/excel-web-app/


> fname = "\\D\Log.csv"
これだと、「Log.csv というファイル」ではなく、
D というサーバー上の「Log.csv という共有フォルダ」なのでは?
引用返信 編集キー/
■77206 / inTopicNo.3)  Re[1]: ASP.NETで既存csvをxlsxに変換して表示したい
□投稿者/ WebSurfer (653回)-(2015/09/25(Fri) 14:05:15)
No77203 (ラララ さん) に返信

> ASP.NETでcsv出力結果をxlsx形式に変換して表示させたいです。
> 現在は、リンクボタンからcsv表示できるところまで完成しているので
> これをexcel表示にしたいのです。

「表示」の意味が分かりません。

GridView や ListView を実装した Viewer.aspx ページを作り、ブラウザに表示
される table の見栄えを Excel のようにしたいということですか?

Excel を IE のプラグインのように使って、IE の画面上に Excel を表示したい
ということなんでしょうか? しかし、魔界の仮面弁士さんも指摘されてますが、
それは Excel 2007 以降できなくなっています。

表示に使うのが Viewer.aspx というページのようですが、それが具体的にどう
いうものか説明していただけると理解しやすいのですが・・・

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -