NPOI 開發問題

2021-10-07 18:23:21 字數 1015 閱讀 7512

1.很納悶這個錯誤,因為得到的內容一看,沒啥特別的,在不修改原來execl檔案在這樣操作,還是這種錯誤,網上說的是利用這段**,即可解決,如下**:

//此處會觸發問題二,故需要改動,這就為何需要ms.length

response.addheader("content-length", ms.length.tostring());

//改動版本如下

response.addheader("content-length", ms.getbuffer().length.tostring());

2.如此依然沒法解決,直到memorystream的另乙個匯出byte陣列方法進入眼簾,問題得到解決,即使沒有標明 content-length 也可,感覺網上這種答案過於兒戲,**如下:

var bytes = ms.toarray();
1.其實解決問題一,問題二根本不復存在,但是還是要提到一點npoi所做的事,或許真有遇到這樣使用的

2.本著寫進記憶體流,然後和平常那樣操作記憶體流,怎知npoi好心多做一步,如下**:

string path = "";

filestream fs = new filestream(path, filemode.open, fileaccess.read);

xssfworkbook workbook = new xssfworkbook(fs);

using (var ms = new memorystream())

3.從斷點看ms,除了已經裝有位元組外,workbook.write前ms.canread這些均為true,write後,可明顯看到這些均為false,且ms.length已報錯,繼續執行這個語句必然不可以,故此,npoi已經『好心』幫咱們關了這個流,為了獲取這個length,其實ms本就可以匯出byte陣列,當然你還可以new乙個memorystream去裝ms流,但是我倒是覺得能獲取到byte陣列,這些均可以做,腦筋太固化可不太好,雖然我經常如此。。。

Virsual Studio 開發問題

win32 控制台應用 自動生成 stdafx.h stdatx.cpp resouce.h targetver.h 工程名.cpp win32 dll 自動生成 stdafx.h stdatx.cpp resouce.h targetver.h 工程名.cpp dllmain.cpp stdafx...

開發問題集合

q1 變數儲存 超出範圍問題 設計id為256位的變數,策劃填表的時候超出範圍,最終儲存的變數將被截斷,導致與表中的資料不一致 a1 這時改變資料結構的話會導致之前擁有該物品的玩家丟失資料,建議的解決方案為,可臨時改變表中資料id為截斷後的數值,在每一次儲存資料的時候將數值手動進行判斷,若超出範圍的...

ArcGIS AddIn開發問題

問題 未能從程式集esri.arcgis.addins.sdk,version 10.2.0.0,culture neutral,publickeytoken 8fc3cc631e44ad86 載入任務 validateaddinxmltask could not load file or asse...