• 締切済み

Excelで開こうとすると警告

初めまして。初の投稿となります。 宜しくお願い致します。 早速ですが、ASPとアクセスで開発をしていまして分からないことが出てきましたので質問させて頂きます。 ASPのページで Response.ContentType = "application/vnd.ms-excel" を指定してブラウザ上でエクセルを開こうとしております。 開くエクセルはサーバー上にあり差込印刷?みたいな感じで、 書き込みのあるエクセルにデータベース上の項目を入力しようとしております。 そこで開こうとしたら下記の警告が出てきます。 「このWebページ内のファイルは期待した場所には存在しません。このWebページをダウンロードする必要がありますか?このドキュメントが信頼できるソースの元からの場合にのみ、[はい]をクリックして下さい。」 とあります。 [はい]をクリックしたら問題なく開けるのですが警告をださずに開きたいのです。 もとのエクセルのファイルあり、難しかったため、 エクセル上で「ファイル」→「ブラウザでプレビュー」で一度htmlを出力してから そのhtml(asp)に Response.ContentType = "application/vnd.ms-excel" をつけました。 そこにDB上の項目を拾ってきて追加書き込みしているような状態です。 これがいけなかったのでしょうか? 分からずに悩んでいます。 どうかアドバイスお願いします。

みんなの回答

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

(1)雛形のxlsファイルをコピー (2)ADO経由で書き込み http://support.microsoft.com/default.aspx?scid=kb;ja;278973 (3)ブラウザに送信する http://support.microsoft.com/default.aspx?scid=kb;ja;276488 (4)ファイルを削除

関連するQ&A

  • 【ASP】HTMLデータをExcelに吐き出す時

    ASPファイルに『ContentType = "application/vnd.ms-excel"』 を設定してHTMLデータをExcelに吐き出して保存する際、 Excelファイル内でデータを複数シートに分けて保存する事は可能でしょうか?

  • ASPでエクセルの印刷定義・・・

    ASPの初心者です。皆さんご教授願います。 上手くお伝えできるかどうかも不安ですが・・・  ASPでエクセルを起動しています。  そのエクセルをA4横とか、ページヘッダとかページを指定したい(ASP上で)のですが、どのような設定、スクリプトになるんでしょうか? ちなみに・・・ Response.Clear() Response.ContentEncoding = System.Text.Encoding.GetEncoding("shift-jis") Response.ContentType = "application/vnd.ms-excel" Response.AppendHeader("Content-Disposition", "inline;filename=out_excel.xls;") Response.Write("<table>") Response.Write("<tr>") : : Response.Write("</tr>") Response.Write("</table>") Response.End() でエクセルを表示しています。 (Win2K,asp.net) 上手くお伝えできなかったら、すみません。 よろしくお願いします。

  • Excelの保存について

    お世話になります。 <環境>  Web/DBサーバー    Windows2003Server    IIS6.0    SQL Server2000  クライアントPC    WindowsXP Pro /Windows7 Pro    ブラウザ IE7/8/9    Excel 2003/2007/2010 ASPにてSQLよりデータを抽出し、Webページ上に表示された内容をダウンロードボタンを押すことによりExcelにて保存できるようにしております。 Response.ContentType = "Application/vnd.ms-excel" Response.AddHeader "Content-Disposition", "attachment;filename=filemane.xls" Excel2003では保存したExcelは問題なく開けるのですが、Excel2007及び2010で保存し開こうとすると『開こうとしているファイル"○○○○○.xls"の形式は、ファイル拡張子が示す形式と異なります。このファイルを開く前に、ファイルが破損していないこと、信頼できる発行元からのファイルであることを確認してください。ファイルを今すぐ開きますか?』とメッセージが表示されてしまいます。 調べたところ、2007以降のバージョンでは拡張子とファイルの内容が一致しない場合に、確認メッセージを表示する機能が追加されたようです。 対処として、 Response.ContentType = "Application/vnd.openxmlformats-officedocument. spreadsheetml.sheet" Response.AddHeader "Content-Disposition", "attachment;filename=filemane.xlsx" とやってみましたが、やはりメッセージは表示されます。 『はい』を選択すると普通に開き、保存しなおすとそのファイルではメッセージは表示されなくなくなるのですが、できればこの手間は省きたいところです。 どのバージョンのExcelで保存した場合でも、開く際に上記メッセージを表示させないようにするにはどのようにすればよいでしょうか。 ご教授の程、宜しくお願い致します。

  • ASPでCSVファイルを作成しダウンロードさせる

    ASPファイルで、動的にCSVファイルを作成し、クライアントにダウンロードさせたいのですが、実際には、ファイルは作成せずに、ASPで直接、CSVフォーマットのファイルをダウンロードさせているように振舞わせることはできないでしょうか? 手順 クライアント        サーバー あるURL(A.ASP)にアクセス              A.ASPのスクリプトでCSVフォーマットを作成              クライアントに送信(多分、Response.Writeで) ダウンロードダイアログが開く 「A.CSVをダウンロードしますか?」 のような感じ ダウンロード、またはExcelが開く というようなイメージです。 CSVファイルを作ってしまうと、複数のユーザーからほぼ同時に要求があった場合、望むCSVにならない可能性があり、また、毎回ファイル名を変えると、Webサーバー上にCSVファイルが沢山できてしまうため、何とかこの方法でやりたいのですが、何かよい方法はありませんでしょうか? ちなみに次のようなASPファイルをしてみましたが、うまくいきません。 <% Response.Content-Type="application/vnd.ms-excel" Response.Write "1,2" & vbNewLine Response.Write "3,4" & vbNewLine %> また、「vnd.ms-excel」を「oct-stream」でもだめでした。 何かよい知恵をお貸しください。

  • JSPからエクセルダウンロードでIEが強制終了

    WEBサーバーにJSPでエクセルのダウンロード機能を作成しましたが 実際にIEでエクセルのダウンロードを行うと、使用する端末によって元画面が強制終了してしまいます。正常にダウンロードできる端末もあります。 ソースコードのヘッダ部は下記のように記述しています。 <%@ page contentType="application/vnd.ms-excel; charset=WINDOWS-31J"%> <%response.setHeader("Content-Disposition","attachment; filename=sample.xls"); 問題は、IEの設定でしょうか? もし対応方法があれば教えて頂けないでしょうか? よろしくお願いします。

  • EXCELファイルの複数ダウンロードについて

    お世話になっております。 【環境】 ASP.NET(VB) IIS 【質問】 ボタン押下時に2つの異なる帳票(A帳票.xls、B帳票.xls)を作成し、別々にダウンロード処理をさせたいのですが、上記2帳票を別々にダウンロードさせるための実装方法がわかりません。 1つの帳票でしたら、下記の実装方法でダウンロードをすることが確認できました。 Response.Clear() Response.ContentType = "application/vnd.ms-excel" Response.Charset = "" Response.AddHeader("content-disposition", "attachment; filename=A帳票.xls") Response.WriteFile("D:\temp/A帳票.xls") どなたかご存知の方がいらっしゃれば、ご教授ください。 よろしくお願いいたします。

  • ASPでExcelファイルのダウンロード

    はじめて質問します。 よろしくお願いいたします。 さて、現在ASPでDBから取得したデータをExcelでダウンロードする機能を実装しています。 ダウンロード自体は問題なくできています。 #ソース Response.ContentType = "application/octet-stream" Response.AddHeader "Content-Disposition","attachment; filename=sample.xls" Response.Write "項目1" & vbTab & "項目2" Response.End #ここまで この状態ですと、「sample」というSheetのA列とB列にそれぞれ、項目1と項目2が入っているExcelファイルがダウンロードできます。 ここからが質問で、今回シートを4枚設けたいと考えています。現状では「ファイル名」のSheetが一枚できるだけなので、複数のSheetにそれぞれデータを書き込む方法をご存知の方はいらっしゃらないでしょうか? なお、Excelのライブラリを使用しない方法がベストと考えています。 以上、長々となりましたが、よろしくご教示ください。

  • 「ASP を使用して、書式付きデータを含むブックを作成し、Micros

    「ASP を使用して、書式付きデータを含むブックを作成し、Microsoft Excel に MIME コンテンツとしてストリーム配信する方法」について ASPで作成した表を、印刷しやすいように、クライアント側のEXCELで表示できないかとサンプルを探していたら、マイクロソフトサポートオンラインで標記のようなサンプルを見つけました。 http://support.microsoft.com/default.aspx?scid=kb;ja;271572 このサンプルの場合、HTML/XML 形式で作成されたEXCELのブックというのは、サーバのどこかに一旦保存されるのでしょうか(それにしては、ファイル名の指定箇所が無い。勝手に作られるとか・・・)。 それとも、サーバには保存されることなく、配信されたら何も残らないのですか。 (後者であれば、多数の人が実行してもサーバに影響がないので、取り入れたいと思っています) ' Buffer the content and send it to Excel. Response.Buffer = true Response.ContentType = "application/vnd.ms-excel" %> <HTML xmlns:x="urn:schemas-microsoft-com:office:excel"> 上記のスクリプトについて調べてみたのですが、リファレンスが日本語で説明してなかったりして、よく分らず、確証が得られませんでした。 どなたか、わかる方がいらっしゃいましたら、よろしくお願い致します。

  • クライアントのファイルダウンロード後にサーバー側のファイルを削除したい

    お世話になっております。 ASP.NET(VB)を用いてExcelのファイルを操作保存し、保存してあるファイルをクライアントにダウンロードさせた後にExcelのファイルを削除させようとしています。 ですが、ファイルダウンロード実行する前にファイルが削除されています。 感じとしては、IEにダウンロードするように命令するのですが、そのレスポンスが遅くて削除になってしまっている感じがします。 できればクライアントのダウンロード完了をきっかけに削除するようなコードにしたいです。 どなたかご教授願えませんでしょうか。 以下 コード オブジェクトの宣言、処理 (省略) '*ファイル保存ブロック* 開始 '保存ファイル名 xlFilePath = ("C:\0.xls") '保存時の問合せのダイアログを非表示に設定 xlApp.DisplayAlerts = False xlSheet.SaveAs(xlFilePath) xlApp.DisplayAlerts = True Excel終了、オブジェクト解放 (省略) '*excelファイルダウンロードブロック* 開始 Response.Clear() Response.ContentType = "Application / vnd.ms - Excel" Response.AddHeader("Content-Disposition", "attachment;filename=" & "0.xls") Response.WriteFile("c:\0.xls") My.Computer.FileSystem.DeleteFile("c:\0.xls") 処理終了

  • 【緊急】ASPでのExcel出力方法について

    いつも参考にさせていただいております。 現在、aspで作成したweb環境を運用しております。 その中で抽出したデータをExcelに出力する処理がありますが、これを以下の方法で行っております。 ==================================== response.buffer = true response.ContentType = "application/vnd.ms-excel" response.AddHeader "content-disposition", "inline; filename=dynamic.xls"  ~ response.flush response.end ==================================== ただ、「Excel2013」であることから、出力されたExcelを開くたびにバージョン不一致の警告(ファイル形式と拡張子が一致しません)が表示されて不便です。 よって、Excel出力をExcelオブジェクトを用いた方法に変更しようと考えております。 ==================================== 'ファイルシステムオブジェクト生成 Set oFs = Server.CreateObject("Scripting.FileSystemObject") 'テンポラリファイル名取得 sFileName = Split(oFs.GetTempName, ".") 'エクセルファイル名にする sXlsName = sFileName(0) & ".xls" 'テンプレートが保存されているフォルダの物理パスを取得 sPath = oFs.GetFolder(Server.MapPath("/hogehoge/")).ParentFolder 'エクセルのオブジェクトを生成 Set oXls = Server.CreateObject("Excel.Application") 'エクセルのテンプレートファイルを開く Set oTmp = oXls.Workbooks.Open(sPath & "\temlate\template.xls")  ~ ==================================== ここからが質問です。 Excelオブジェクト作成時、エラーになってオブジェクトの作成が失敗します。 ==================================== 【オブジェクト作成を「Server.CreateObject」で行った場合】 Set oXls = Server.CreateObject("Excel.Application") ⇒ 以下のエラーが表示されます。   Server オブジェクト エラー 'ASP 0177 : 80080005'   Server.CreateObject に失敗しました 【オブジェクト作成を「CreateObject」で行った場合】 Set oXls = CreateObject("Excel.Application") ⇒ 以下のエラーが表示されます。   Microsoft VBScript 実行時エラー エラー '800a01ad'   ActiveX コンポーネントはオブジェクトを作成できません。: 'Excel.Application' ==================================== いろいろなサイトを情報をもとに対応しましたが、解決の糸口が見えない状況です。 ==================================== 【今まで試みた対応】 (1)コンポーネントサービスの「DCOMの構成」にて、「Microsoft Excel Application」の「起動とアクティブ化のアクセス許可」に「EveryOne」を追加。 (2)以下のフォルダを用意してフォルダのアクセス許可に「EveryOne」を追加。  C:\Windows\System32\config\systemprofile\Desktop  C:\Windows\SysWOW64\config\systemprofile\Desktop (3)オブジェクト作成時、「Excel.Application」を「Excel.Application.15」に変更。 ==================================== なお、開発環境は以下となります。 ==================================== 【開発環境】 OS:windows 8.1 64bit IIS:8.5 Excel:2013 その他:(1)aspを使用(.netではありません)     (2)「windows 8.1」はあくまでテスト環境です。      正常に動作することを確認後、本番環境「Win2008Server R2」に組み込む予定です。 ==================================== 私事ではありますが、スケジュール的に押し迫っております。 お忙しいところ申し訳ありませんが、解決方法のご教授をお願いいたします。 以上です。