private static void AutoSizeColumns(ExcelNPOIWriter exObj, DataTable tbl, string sheetName) { for (int i = 0; i <= tbl.Columns.Count; i++) { exObj.AutoSizeColumn(i, sheetName); } }
private static void GenerateExcel(DataTable _dtFinal, string _savePath) { ExcelNPOIWriter excelObj = new ExcelNPOIWriter(); excelObj.CreateWorksheet("Sheet1"); excelObj.WriteData(_dtFinal, "Sheet1", true, 4); AutoSizeColumns(excelObj, _dtFinal, "Sheet1"); HSSFSheet sheet1 = excelObj.GetWorksheet("Sheet1"); sheet1.PrintSetup.Landscape = true; //styles //alignment excelObj.createStyle("Headers"); excelObj.setAlignment("Headers", HorizontalAlignment.Center); excelObj.setBorders("Headers", BorderStyle.Medium); excelObj.setFont("Headers", true, HSSFColor.DarkBlue.Index); excelObj.setShrinkToFit("Headers", true); excelObj.setFillForeground("Headers", HSSFColor.Grey25Percent.Index, FillPattern.SolidForeground); try { for (int i = 0; i < _dtFinal.Rows.Count; i++) { for (int b = 0; b < _dtFinal.Columns.Count; b++) { excelObj.getCell(4 + i, b, "Sheet1").CellStyle = excelObj.getStyle("Headers"); } } excelObj.getCell(4, 0, "Sheet1").CellFormula = string.Format("A{0} - A{1}", 1, 2); excelObj.Save(_savePath); } catch (Exception e) { excelObj.Dispose(); } finally { excelObj.Dispose(); } System.Diagnostics.Process.Start(_savePath); }