[NPOI]為什麼設定 檢視格線 ,連 列印格線 也會被勾選呢?

最近同事詢問說為什麼有個報表透過NPOI轉出後,列印的格式會被勾選起來呢?

最近同事詢問說為什麼有個報表透過NPOI轉出後,列印的格式會被勾選起來呢?

程式如下,

//using NPOI.XSSF.UserModel;
//using System.IO;
string xlsFile = @"d:\temp.xlsx";
XSSFWorkbook wb = null;
using (FileStream fs = new FileStream(xlsFile, FileMode.Open, FileAccess.ReadWrite))
{
	wb = new XSSFWorkbook(fs);
	XSSFSheet sheet0 = (XSSFSheet)wb.GetSheetAt(0);
	//產生新檔案
	FileStream file = new FileStream(@"d:\tempout.xlsx", FileMode.Create);
	wb.Write(file);
	file.Close();
}

 

連設定都沒設定,直接輸出新檔(tempout.xlsx),tempout.xlsx在「版面配置」中的「格線」裡面的「列印」就被勾選起來了。

image

image

 

NPOI 的問題嗎? 網路上又沒有人這樣說....

於是我用另個新的Excel來試,輸出是正常的哦!

那應該是那個範本的問題。

所以就建立一個新的Excel,再把那個範本的內容,貼到新的Excel之中,當作範本就解決了。

如果各位有這種怪怪的問題,就參考看看,建立一個新的檔案來試看看吧!

 

另外,在測試版面配置的格線設定發現以下問題,

1.如果原本設定 檢視 及 列印 格線都 有勾選 的話,這時設定 IsPrintGridlines 為 false,是無效的哦!

sheet0.IsPrintGridlines = false;

 

2.如果原本設定 檢視 及 列印 格線都 沒勾選 的話,這時設定 DisplayGridlines 為 true,輸出後,連 列印 格線也會被勾選!

sheet0.DisplayGridlines = true;

 

3.同2,如果再設定 IsPrintGridlines 為 false ,還是沒有效果的哦!

 

建議一開始就設定輸出需要的格式即可。

有問題的範本檔: temp.zip

 

後來 依玲家媽 發現只要在 版面設定 勾選 置中方式(版面配置->邊界->自定邊界),不管是水平或垂直 都會造成 列印格線被勾選哦!

image

image

 

另外,如果自定有頁首/頁尾,勾選下面的「隨文件縮放」及「對齊頁面邊界」選項的話,

經NPOI處理過,那2個選項會變成沒有勾選哦!

image

感謝家媽的細心及研究 ^_^

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^