1. 程式人生 > >新增頭資訊,為"檔案下載/另存為"對話方塊指定預設檔名.........................

新增頭資訊,為"檔案下載/另存為"對話方塊指定預設檔名.........................

string path = Server.MapPath(this.xlfile.Text+".xls");

    System.IO.FileInfo file
=new
System.IO.FileInfo(path);
    Response.Clear();
    Response.Charset
="GB2312"
;
    Response.ContentEncoding
=
System.Text.Encoding.UTF8;
   
// 新增頭資訊,為"檔案下載/另存為"對話方塊指定預設檔名

    Response.AddHeader("Content-Disposition",
"attachment; filename="+
Server.UrlEncode(file.Name));
   
// 新增頭資訊,指定檔案大小,讓瀏覽器能夠顯示下載進度

    Response.AddHeader("Content-Length"
, file.Length.ToString());
    
   
// 指定返回的是一個不能被客戶端讀取的流,必須被下載

    Response.ContentType ="application/ms-excel"
;
    
   
// 把檔案流傳送到客戶端

    Response.WriteFile(file.FullName);
   
// 停止頁面的執行

   
    Response.End();

經常要匯出一些XLS檔案,給財務下載,用NPOI,將DataTalbe 轉換成xls,再新增頁頭下載。

自己寫了個方法,要引用NPOI的名稱空間哦。
using NPOI.SS.UserModel;//引用NPOI
using NPOI.HSSF.UserModel;

 public  void Import(DataTable dt, string filename)
    {
        //建立空白文件  
        IWorkbook  workbook = new HSSFWorkbook();
        //建立標準三頁  
        ISheet sheet1 = workbook.CreateSheet("sheet1");

        ISheet sheet2 = workbook.CreateSheet("sheet2");
        ISheet sheet3 = workbook.CreateSheet("sheet3");
        IRow headrow = sheet1.CreateRow(0);//建立第一行  
        //將DataTable的列寫入第一行  
        foreach (DataColumn column in dt.Columns)
        {
            //column.Oradinal,列的位置,column.ColumnName,列名  
            headrow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);//寫入  

        }

        //再寫入記錄值   
        IRow row;
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            row = sheet1.CreateRow(i + 1);
            for (int j = 0; j < dt.Columns.Count; j++)
            {
                row.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());//dataTable和EXCEL差不多都是一個二維陣列一樣的.  
            }

        }
        string filename1 =  HttpContext.Current.Server.MapPath(filename);
        using (FileStream file = new FileStream(filename1, FileMode.Create))
        {
            workbook.Write(file);//寫入  
            file.Dispose();

        }
      
    } 



相關推薦

新增資訊"檔案下載/"對話方塊指定預設檔名.........................

string path = Server.MapPath(this.xlfile.Text+".xls");     System.IO.FileInfo file =new System.IO.FileInfo(path);     Response.Clear();  

C++根據加密資訊判斷檔案是否加密檔案

   針對某種加密程式,會對本地檔案加密,並且會在檔案頭寫入加密頭資訊(可以使用UE進行檔案二進位制檢視),現在貼上一段程式碼:讀取當前檔案的加密頭資訊,判斷該檔案是否為加密檔案。int CLdScanFileDlg::FileDecryptStatus( wchar_t* 

Java檔案下載功能點選展開

public class DownloadUtils {/* * 檔案(圖片)下載通用類 */public void download(NotifyAttach  natch ,HttpServletResponse response) {         String fi

angular1 開啟檔案檔案的讀取與寫入)

最近有個需求,在頁面上有個按鈕可以選取檔案然後在匯出到其它地方, 說明白點就是檔案的讀取與寫入,下面是例子(例子中用到了fileSave.js github地址:https://github.com/eligrey/FileSaver.js) 首先引入fileSave.js    i

c# 使用FileStream開啟並清空檔案、將一檔案內容到新檔案

*以下為使用FileStream方式開啟並清空檔案:  FileStream fs = null;             try             {                 fs = new FileStream(m_LogFilePath, FileMo

java 實現檔案下載的時候避免瀏覽器自動開啟檔案而是出現對話方塊

Java程式碼 response.addHeader( "Content-Disposition" ,  "attachment; filename="  + response.encodeU

檔案以流的形式下載

string strFile = Server.MapPath("/images/526763.pdf"); using (FileStream fs = new FileStream(strFile, FileMode.Open)) { byte[] bytes = new byte[(

python中str與list互換txt檔案的讀取字串變成列表操作TXT時從列表變成字串

file = open ("wider_face_train_bbx_gt.txt") for line in lines: print(type(line)) #<type 'str'> #78 221 7 8 2 0 0 0 0

PHP如何查詢MySQL資料頁面並輸出內容到頁面CSV或EXCEL檔案

<?​ header("Content-type:text/html;charset=utf-8"); /** * mysql connection configure * 2016-04-09 * Ron */

selenium webdriver 右鍵下載檔案(結合robot and autoIt)

最近一直在研究selenium webdriver右鍵選單,發現selenium webdriver 無法操作瀏覽器右鍵選單,如圖 如果我想右鍵另存為,根本操作不了。 也有在網上看到webdriver right click option的一些程式碼,拿來用發現不能用的。 Actions

Python+OGR庫學習(二):讀取點向量檔案複製特定屬性值點並shp檔案

程式碼思路: 1、匯入相關庫包,切換到當前資料夾 2、註冊驅動,開啟點向量檔案,獲取圖層 3、建立輸出檔案,並獲取圖層(沒有屬性定義) 4、定義輸出圖層欄位屬性:假設已知檔案所有屬性欄位定義(即ID和cover) (1)讀取輸入檔案中某一要素 (2)獲取ID、cover欄位定義 (3

pycharm 如何自動新增註釋比如時間作者資訊

查詢路徑:File->settings->Editor->File and Code Templates->Python Script #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : ${DATE

Visio批量修改圖形內容匯出圖片檔案

Sub chenphAutoExport() ' 角色 Dim role(2) As String role(0) = "普通教師" role(1) = "高階教師" ' 分類 Dim sort(2) As String

給Linux新增一塊磁碟設定檔案系統格式ext3並掛載到/mnt下最後往這塊磁碟中拷貝/etc下得所有檔案

比如我們有一塊新硬碟/dev/sda操作步驟:#mkfs.ext3  /dev/sda          提示按'y'#mkdir  /mnt                       建立掛載目錄#mount  /dev/sda  /mnt      把/dev/sda這

excel表格CSV檔案如何使每個單元內容都帶雙引號和逗號分隔

例如:原excel表格內容是 姓名 性別 電話 手機 張三 男 84577487 13878902345 李四 女 25878456 13978581278 另存為CSV檔案後,要求這樣的格式 "姓名","性別","電話","手機" "張三","男","84577487","13878902345" "李四"

利用ffmpeg修改MP4檔案資訊使其支援流式載入及播放

最近在用AS3寫一個Flash的播放器,發現同樣都是H264編碼的mp4檔案,有的可以載入一點就開始播放,有的就必須全部載入完才能播。用本地播放器(potplayer,暴風影音等)開啟檢視,發現編碼什麼的也都是一樣的:左邊這個必須是全部載入完成才能播,右邊這個是一載入就能播。

SFTP檔案下載(由於SFTP有許可權設定本地ip又不固定所以測試伺服器IP開通許可權檔案下載到測試伺服器再用流讀到本地)

1.工具類 import java.util.Properties; import org.apache.log4j.Logger; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; i

禁止網頁 右鍵左鍵等

htm ram func lec cts script 禁止 alert start 禁止另存為, <body></body> 標簽裏面寫入 <noscript><iframe src=‘*.htm‘></i

sftpftp檔案下載

一、sftp工具類 package com.ztesoft.iotcmp.util; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; impo

Python小工具長圖pdf

在網上了一個長的圖片,結果發現沒有一個合適的工具,將長圖先批量擷取為4:3格式,儲存到指定地點,然後儲存為pdf 程式碼: from reportlab.lib.pagesizes import portrait from reportlab.pdfgen import canvas i