這裡是我的文章備份,原文請看:

http://www.dotblogs.com.tw/mis2000lab/archive/2010/08/26/npoi_excel_chinese_filename.aspx

 

透過 NPOI輸出 Excel,使用中文檔名

 

 

 

謝謝 jeff的分享,從他的經驗裡面獲得解答。
http://www.dotblogs.com.tw/jeff377/archive/2008/05/17/4028.aspx

 

 

 

之前分享的範例 --

在 Server 端存取 Excel 檔案的利器:NPOI Library v1.21(改寫成VB範例)

http://www.dotblogs.com.tw/mis2000lab/archive/2010/05/07/npoi_excel_vb_asp_net.aspx.aspx

 

 

倘若要輸出「中文檔名」的話,程式需稍作修正

Dim sFileName As String = HttpUtility.UrlEncode("中文檔名", Encoding.UTF8)

 

01 Imports System.IO
02 Imports NPOI.HSSF.UserModel
03 Imports NPOI.HPSF
04 Imports NPOI.POIFS.FileSystem

05
06
07     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
08         '== 本範例的資料來源:http://msdn.microsoft.com/zh-tw/ee818993.aspx
09
10         Dim workbook As HSSFWorkbook = New HSSFWorkbook()
11         Dim ms As MemoryStream = New MemoryStream()  '==需要 System.IO命名空間
12
13         '== 新增試算表。
14         '== 生成一個空白的 Excel 檔案,並且添加三個指定名稱的試算表 Sheet
15         workbook.CreateSheet("試算表 Sheet A")
16         workbook.CreateSheet("試算表 Sheet B")
17         workbook.CreateSheet("試算表 Sheet C")
18
19         workbook.Write(ms)
20         '== Excel檔名,請寫在最後面 filename的地方
21
22         Dim sFileName As String = HttpUtility.UrlEncode("中文檔名", Encoding.UTF8)
23         Response.AddHeader("Content-Disposition", String.Format("attachment; filename=" & sFileName))
24         Response.BinaryWrite(ms.ToArray())
25
26         '== 釋放資源
27         workbook = Nothing   '== C#為 null
28         ms.Close()
29         ms.Dispose()
30     End Sub

 

 

謝謝每一位分享的朋友,

      「分享」讓智慧愈加地發光

 

 

 

 

 

 



......  寄信給我    mis2000lab (at) 雅虎.com.台灣  ....................................................................................................

ASP.NET 4.0 專題實務 ( I )--入門實戰篇

  ASP.NET 4.0 專題實務(I)_VB  ASP.NET 4.0 專題實務(I)_C#

(松崗出版,VB版  / C#版

範例比上一本書增加 166%,內容(頁數)增加 135%

上 / 下兩集 (2010年)已經出版囉 ~ 歡迎到此參加團購


ASP.NET專題實務( II ):範例集 與 4.0新功能

 

.................................................................................................... 寄信給我    mis2000lab (at) 雅虎.com.台灣 ........

 

arrow
arrow
    全站熱搜

    MIS2000 Lab 發表在 痞客邦 留言(0) 人氣()