0

JS の通常の onRequestStart 関数を使用して、グリッドを Excel にエクスポートしています (ここに関数があります)。

 <script type="text/javascript">
            function onRequestStart(sender, args) {
                if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 ||
                 args.get_eventTarget().indexOf("ExportToWordButton") >= 0 ||
                 args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) {
                    args.set_enableAjax(false);
                }
            }
</script>

次に、Grid_ItemCommand を呼び出して、それが Excel エクスポート ワードまたは CSV であるかどうかを確認し、メソッド doExport() を呼び出しています。

 private void doExport()
        {
            this.UserGrid.ExportSettings.ExportOnlyData = true;
            this.UserGrid.ExportSettings.IgnorePaging = true;
            this.UserGrid.ExportSettings.OpenInNewWindow = true;
            this.UserGrid.ExportSettings.FileName = String.Format("YearReport_{0}_{1}", this.selectedYear, this.rcbDepartments.SelectedValue);
        }

そして、これまでのところすべてが完全に機能していますが、ファイルのダウンロードが完了してExcelで開いた後、奇妙な>「警告メッセージ」が届きましたこのメッセージを無効にする方法はありますか? ここに画像の説明を入力

助けてくれてありがとう

PS:他に何か必要な場合はお気軽にお尋ねください

4

5 に答える 5

3

問題は、データを CSV としてエクスポートしているにもかかわらず、それが XLS ファイルであることを Excel に伝えているため、実際のファイルの種類と拡張子が一致しないことです。これは通常の Excel 警告です。

これを無効にしたい場合は、エクスポートされたファイルの拡張子が「csv」であることを確認してください。

于 2013-03-19T13:54:42.830 に答える
2

このエラーは、ではMime Typeなくを使用してExcelファイルを作成したために発生します。Microsoft.Office.Interop.Excel

このエラーの原因:

    The alert is a new security feature in Excel 2007 called Extension Hardening, which 
ensures that the file content being opened matches the extension type specified in the 
shell command that is attempting to open the file. Because the MIME types listed above are 
associated with the .XLS extension, the file must be in XLS (BIFF8) file format to open 
without this warning prompt.  If the file type is a different format (such as HTML, XML, 
CSV, etc.) the prompt is expected since the file content is different that the extension 
or MIME type. The alert is first seen when opening the file from a URL site directly.  If 
you cancel the alert, the open will fail, but then IE will attempt to download the file 
and open again using a different shell command. Depending on what the file contents is and 
what extension IE gives the file it downloads, you may see the second open attempt 
succeed, or you may see the prompt again but with a different filename in the alert dialog.

    The alert prompt is "by design", but the interaction of the cancel action and IE's 
attempt to open the file again is a known problem under investigation for a future fix. 

説明ソース: http: //blogs.msdn.com/b/vsofficedeveloper/archive/2008/03/11/excel-2007-extension-warning.aspx

于 2013-03-19T13:58:20.490 に答える
2

エクスポート ファイルを「.xlsx」ファイルとして保存します。これは、Office 2003 のスタイルを .xlsx またはその逆で保存すると常に発生します。

編集

または、他の回答で述べたように、「.csv」。同じ概念が適用されます。

Excel は、ファイルの内容が指定された拡張子と一致しないことを検出したため、エラーが発生しました。

于 2013-03-19T13:57:08.490 に答える
1

問題は、このグリッド コンポーネントがそれを html にエクスポートし、xlsx タグを追加するか、2010 年に非常に優れているものに、未知のファイルを開くために Excel を保護するこの新しいメカニズムがあることだと思います。それに対する解決策はないと思います。問題 ..

于 2013-03-20T10:18:22.553 に答える