diff --git a/fastexcel-writer/src/main/java/org/dhatim/fastexcel/Worksheet.java b/fastexcel-writer/src/main/java/org/dhatim/fastexcel/Worksheet.java index 505cb1c2..ed9fdbe2 100644 --- a/fastexcel-writer/src/main/java/org/dhatim/fastexcel/Worksheet.java +++ b/fastexcel-writer/src/main/java/org/dhatim/fastexcel/Worksheet.java @@ -87,6 +87,10 @@ public class Worksheet { */ private VisibilityState visibilityState; + /** + * Whether grid lines are displayed + */ + private boolean showGridLines = true; /** * The hashed password that protects this sheet. */ @@ -571,7 +575,11 @@ public void flush() throws IOException { writer.append(""); writer.append(""); writer.append(""); - writer.append(""); + writer.append(""); int nbCols = rows.stream().filter(Objects::nonNull).map(r -> r.length).reduce(0, Math::max); if (nbCols > 0) { writeCols(writer, nbCols); @@ -627,4 +635,11 @@ private static void writeRow(Writer w, int r, boolean isHidden, Cell... row) thr public void comment(int r, int c, String comment) { comments.set(r, c, comment); } + + /** + * Hide grid lines + */ + public void hideGridLines() { + this.showGridLines = false; + } } diff --git a/fastexcel-writer/src/test/java/org/dhatim/fastexcel/PoiCompatibility.java b/fastexcel-writer/src/test/java/org/dhatim/fastexcel/PoiCompatibility.java index 5c335118..2d284733 100644 --- a/fastexcel-writer/src/test/java/org/dhatim/fastexcel/PoiCompatibility.java +++ b/fastexcel-writer/src/test/java/org/dhatim/fastexcel/PoiCompatibility.java @@ -579,4 +579,31 @@ public void comments() throws IOException { String.valueOf(cellComment.getString()) ); } + + @Test + public void hideGridLines() throws IOException { + byte[] data = writeWorkbook(wb -> { + Worksheet ws = wb.newWorksheet("Worksheet 1"); + ws.hideGridLines(); + }); + + assertFalse(isWorkSheetDisplayingGridLines(data)); + } + + @Test + public void showGridLinesByDefault() throws IOException { + byte[] data = writeWorkbook(wb -> { + Worksheet ws = wb.newWorksheet("Worksheet 1"); + }); + + assertTrue(isWorkSheetDisplayingGridLines(data)); + } + + + private static boolean isWorkSheetDisplayingGridLines(byte[] data) throws IOException { + XSSFWorkbook xwb = new XSSFWorkbook(new ByteArrayInputStream(data)); + XSSFSheet xws = xwb.getSheetAt(0); + return xws.isDisplayGridlines(); + } + }