最近同事詢問說為什麼有個報表透過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在「版面配置」中的「格線」裡面的「列印」就被勾選起來了。
是 NPOI 的問題嗎? 網路上又沒有人這樣說....
於是我用另個新的Excel來試,輸出是正常的哦!
那應該是那個範本的問題。
所以就建立一個新的Excel,再把那個範本的內容,貼到新的Excel之中,當作範本就解決了。
如果各位有這種怪怪的問題,就參考看看,建立一個新的檔案來試看看吧!
另外,在測試版面配置的格線設定發現以下問題,
1.如果原本設定 檢視 及 列印 格線都 有勾選 的話,這時設定 IsPrintGridlines 為 false,是無效的哦!
sheet0.IsPrintGridlines = false;
2.如果原本設定 檢視 及 列印 格線都 沒勾選 的話,這時設定 DisplayGridlines 為 true,輸出後,連 列印 格線也會被勾選!
sheet0.DisplayGridlines = true;
3.同2,如果再設定 IsPrintGridlines 為 false ,還是沒有效果的哦!
建議一開始就設定輸出需要的格式即可。
有問題的範本檔: temp.zip
後來 依玲家媽 發現只要在 版面設定 勾選 置中方式(版面配置->邊界->自定邊界),不管是水平或垂直 都會造成 列印格線被勾選哦!
另外,如果自定有頁首/頁尾,勾選下面的「隨文件縮放」及「對齊頁面邊界」選項的話,
經NPOI處理過,那2個選項會變成沒有勾選哦!
感謝家媽的細心及研究 ^_^
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^