2016-06-16 9 views
0

asp.net/C#コードでExcelファイルをエクスポートしたとき、Webページとして保存されます: エクスポートしていますが、ファイルを保存して保存しようとすると、Webページ形式で保存されますが、どうすれば変更できますか?open exported excelファイルを保存して保存しようとしましたが、Webページ形式で保存しています

Response.Clear(); 
Response.AddHeader("content-disposition", "attachment;filename=Report1.xls"); 
Response.ContentType = "application/ms-excel"; 

const int BUFFER_SIZE = 16 * 1024; 
int bytesRead = BUFFER_SIZE; 
byte[] bytesBuffer = new byte[bytesRead]; 
/// 
memoryStream.Position = 0; 
do 
{ 
    bytesRead = memoryStream.Read(bytesBuffer, 0, bytesRead); 
    Response.BinaryWrite(bytesBuffer); 
    memoryStream.Flush(); 
} while (bytesRead > 0); 
/// 

答えて

0

あなたのウェブページにあなたのaspxコード(下記参照)を削除しようとちょうどこのままにしてください:以下を削除する

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Test.Default" %> 

パートを は、これらの私はExcelにエクスポートするための使用しています関数です:

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 

    </div> 
    </form> 
</body> 
</html> 

...と後ろのコードで:

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace Test 
{ 
    public partial class Default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      Response.Clear(); 
      Response.AddHeader("content-disposition", "attachment;filename=Report1.xls"); 
      Response.ContentType = "application/ms-excel"; 

      const int BUFFER_SIZE = 16 * 1024; 
      int bytesRead = BUFFER_SIZE; 
      byte[] bytesBuffer = new byte[bytesRead]; 
      /// 
      memoryStream.Position = 0; 
      do 
      { 
       bytesRead = memoryStream.Read(bytesBuffer, 0, bytesRead); 
       Response.BinaryWrite(bytesBuffer); 
       memoryStream.Flush(); 
      } while (bytesRead > 0); 
     } 
    } 
} 
関連する問題