質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

1回答

3324閲覧

【ASP.NET+IE11】DBに格納したxlsxファイルを開く時にメッセージが表示される

quail

総合スコア7

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2017/03/28 09:27

###前提・実現したいこと
下記の処理をするプログラムを作成中です。
1.WEBページでファイルをアップロードを行い、データをDBへ格納する。
2.上記1で格納したファイルを、WEBページでファイルを表示させる。

現在、ファイルを開く際に「'ファイル.xlsx'の一部の内容に問題~」というメッセージが表示されてしまいます。
このメッセージを回避する方法をご教示頂けないでしょうか?

###発生している問題・エラーメッセージ
DBに格納したファイルをダウンロードする際に、画面に下記のメッセージが表示されます。

サーバから'ファイル.xlsx'を開くか、または保存しますか?

上記メッセージで[ファイルを開く]をクリックすると、クライアントのExcelが起動するのですが、下記メッセージが表示されてしまいます。

'ファイル.xlsx'の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?ブックの発行元が信頼できる場合は、[はい]をクリックしてください。

その後、[はい]をクリックすると、ファイルが表示されます。
※内容は欠落せず、問題なく表示されます。

###該当のソースコード

Public Class FileDisp Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'LINQを使用してデータベースから情報取得 Dim FileCode As String = Request.QueryString("FileCode") Dim _FileService As New FileService Dim _File As FileDataType = _FileService.GetItem(BranchCode) 'バッファのクリア Response.ClearContent() 'ページ出力をバッファに格納 Response.Buffer = True 'ファイルのコンテンツタイプ設定 Response.ContentType = _File.FileType 'HTTP ヘッダーを出力ストリームに追加 Response.AppendHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("ファイル." + _File.FileExtension)) '文字コード設定 Response.ContentEncoding = Encoding.GetEncoding("shift_jis") 'HTTP 出力にバイナリファイルの中身を書き込み Response.BinaryWrite(_File.File.ToArray()) 'クライアントへバッファ送信 Response.Flush() Response.End() End Sub End Class

###試したこと
0. PDFやテキストファイルでは、問題なく表示できます。
0. xlsやdocなどのファイルも問題なく表示できます。
0. xlsxやdocxなどのファイルは、メッセージが表示されてしまいます。
0. 新規で中身が空のxlsxファイルを作成し試してみても、メッセージが表示されてしまいます。
0. クライアント側のExcelのオプションの「保護ビュー」の設定を全て外しても、メッセージが表示されてしまいます。
0. xlsxファイルを一旦クライアントに保存後、ファイルを開いてもメッセージが表示されてしまいます。

###補足情報(言語/FW/ツール等のバージョンなど)
<サーバ環境>
OS:Windows 2012 R2 Standard
IIS:8.5
DB:SQL Server 2012
開発環境:Visual Studio Enterprise 2015
使用言語:ASP.NET

<クライアント環境>
OS:Windows 8.1 Enterprise
ブラウザ:Internet Exploere 11
Office:Office 2013

※不足している情報があれば、ご指摘よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

エラーメッセージでググってみるといろいろヒットしますが、それらを見る限り問題は Excel ファイルにあり、ASP.NET や DB が問題ということはないようです。

その観点で調べてみてはいかがでしょう?

投稿2017/03/28 09:41

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quail

2017/03/28 10:14 編集

早速のご回答ありがとうございます。 xlsxファイルやdocxファイルの中身を空にして試してもメッセージが表示されるので、Officeファイルのオプション設定も疑ってみたほうが良いですね。 今一度、Excelに絞って調査してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問