2
我使用的是NPOI 1.2.5.0,Visual Studio 2008。電子表格中有一個日期列。我npoi日期格式
觀察到的是,如果我在Excel中打開文件,列集大小設置爲自動設置,保存它,
不言而喻fine.I不能使用此解決方案,因爲對生產沒有安裝Excel中
PC。
否則,該日期欄顯示####代替日期,當我處理其它邏輯/使用NPOI和保存該文件的編碼
。我打開Excel,它說文件已損壞,需要
恢復,數據可能會丟失。如果我點擊「是」,它會恢復文件並顯示 一切正確。
我發現,這是可以解決的,如果我使用
Microsoft Excel中打開文件自動設置日期欄保存Excel。使用NPOI .net代碼處理後,它確實打開。
- 所以我決定做自動設置THR」代碼中使用NPOI,它不會增加日期
列的寬度,而不是它顯示的數字在那裏。
我寫了下面的代碼來設置日期格式,但它是不是顯示
日期的數量。我在此塊之前或之後嘗試了autoset代碼,沒有改變。
for (int i = 0; i <= nTotalRows; i++)
{
HSSFCellStyle cellStyle = (HSSFCellStyle)templateWorkbook.CreateCellStyle();
HSSFCell Cell = (HSSFCell)exlSheet.GetRow(i).GetCell(nCheckColumn);
//(HSSFCell)exlSheet.Sheet.get .SetDefaultColumnStyle(nCheckColumn,
cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("mm-dd-yy");
Cell.CellStyle = cellStyle;
MemoryStream ms = new MemoryStream();
templateWorkbook.Write(ms);
ms.Close();
FileStream fs1 = new FileStream(strFilePath, FileMode.Create);
templateWorkbook.Write(fs1);
fs1.Close();
}
請爲此提出解決方案。我正在搜索Getcolumn以將數據格式設置爲
完整列而不是單元格。
假
它已久回我貼了問題,那個時候我發佈了bug的版本。我需要嘗試上面的建議。 –