在使用NPOI技術開發自動操作EXCEL軟件時遇到不能精確設置列寬的問題。
如
ISheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
sheet1.SetColumnWidth(0, 50 * 256); // 在EXCEL文檔中實際列寬為49.29
sheet1.SetColumnWidth(1, 100 * 256); // 在EXCEL文檔中實際列寬為99.29
sheet1.SetColumnWidth(2, 150 * 256); // 在EXCEL文檔中實際列寬為149.29
到此一般人應該知道問題出在哪了,解決方法如下:
ISheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
sheet1.SetColumnWidth(0, (int)((50 + 0.72) * 256)); // 在EXCEL文檔中實際列寬為50
sheet1.SetColumnWidth(1, (int)((100 + 0.72) * 256)); // 在EXCEL文檔中實際列寬為100
sheet1.SetColumnWidth(2, (int)((150 + 0.72) * 256)); // 在EXCEL文檔中實際列寬為150
既在要設置的實際列寬中加上列寬基數:0.72