public void TestZipBombNotTriggeredOnUselessContent() { SXSSFWorkbook swb = new SXSSFWorkbook(null, 1, true, true); SXSSFSheet s = swb.CreateSheet() as SXSSFSheet; char[] useless = new char[32767]; Arrays.Fill(useless, ' '); for (int row = 0; row < 1; row++) { IRow r = s.CreateRow(row); for (int col = 0; col < 10; col++) { char[] prefix = HexDump.ToHex(row * 1000 + col).ToCharArray(); Arrays.Fill(useless, 0, 10, ' '); Array.Copy(prefix, 0, useless, 0, prefix.Length); String ul = new String(useless); r.CreateCell(col, CellType.String).SetCellValue(ul); ul = null; } } ByteArrayOutputStream bos = new ByteArrayOutputStream(); swb.Write(bos); swb.Dispose(); swb.Close(); }
public void CreateFromReadOnlyWorkbook() { FileInfo input = XSSFTestDataSamples.GetSampleFile("sample.xlsx"); OPCPackage pkg = OPCPackage.Open(input, PackageAccess.READ); XSSFWorkbook xssf = new XSSFWorkbook(pkg); SXSSFWorkbook wb = new SXSSFWorkbook(xssf, 2); String sheetName = "Test SXSSF"; ISheet s = wb.CreateSheet(sheetName); for (int i = 0; i < 10; i++) { IRow r = s.CreateRow(i); r.CreateCell(0).SetCellValue(true); r.CreateCell(1).SetCellValue(2.4); r.CreateCell(2).SetCellValue("Test Row " + i); } Assert.AreEqual(10, s.LastRowNum); ByteArrayOutputStream bos = new ByteArrayOutputStream(); wb.Write(bos); wb.Dispose(); wb.Close(); xssf = new XSSFWorkbook(new ByteArrayInputStream(bos.ToByteArray())); s = xssf.GetSheet(sheetName); Assert.AreEqual(10, s.LastRowNum); Assert.AreEqual(true, s.GetRow(0).GetCell(0).BooleanCellValue); Assert.AreEqual("Test Row 9", s.GetRow(9).GetCell(2).StringCellValue); }
public void TestTemplateFile() { XSSFWorkbook workBook = XSSFTestDataSamples.OpenSampleWorkbook("sample.xlsx"); SXSSFWorkbook streamingWorkBook = new SXSSFWorkbook(workBook, 10); ISheet sheet = streamingWorkBook.GetSheet("Sheet1"); for (int rowNum = 10; rowNum < 1000000; rowNum++) { IRow row = sheet.CreateRow(rowNum); for (int cellNum = 0; cellNum < 700; cellNum++) { ICell cell = row.CreateCell(cellNum); cell.SetCellValue("somEvalue"); } if (rowNum % 100 == 0) { Console.Write("."); if (rowNum % 10000 == 0) { Console.WriteLine(rowNum); } } } FileStream fos = new FileStream("C:\\temp\\streaming.xlsx", FileMode.Create, FileAccess.ReadWrite); streamingWorkBook.Write(fos); fos.Close(); streamingWorkBook.Close(); workBook.Close(); }