public void TestCreateNewPropertiesOnExistingFile() { POIDocument doc = new HSSFWorkbook(); // New document won't have them Assert.IsNull(doc.SummaryInformation); Assert.IsNull(doc.DocumentSummaryInformation); // Write out and back in again, no change ByteArrayOutputStream baos = new ByteArrayOutputStream(); doc.Write(baos); ByteArrayInputStream bais = new ByteArrayInputStream(baos.ToByteArray()); doc = new HSSFWorkbook(bais); Assert.IsNull(doc.SummaryInformation); Assert.IsNull(doc.DocumentSummaryInformation); // Create, and change doc.CreateInformationProperties(); doc.SummaryInformation.Author = ("POI Testing"); doc.DocumentSummaryInformation.Company = ("ASF"); // Save and re-load baos = new ByteArrayOutputStream(); doc.Write(baos); bais = new ByteArrayInputStream(baos.ToByteArray()); doc = new HSSFWorkbook(bais); // Check Assert.IsNotNull(doc.SummaryInformation); Assert.IsNotNull(doc.DocumentSummaryInformation); Assert.AreEqual("POI Testing", doc.SummaryInformation.Author); Assert.AreEqual("ASF", doc.DocumentSummaryInformation.Company); // Asking to re-create will make no difference now doc.CreateInformationProperties(); Assert.IsNotNull(doc.SummaryInformation); Assert.IsNotNull(doc.DocumentSummaryInformation); Assert.AreEqual("POI Testing", doc.SummaryInformation.Author); Assert.AreEqual("ASF", doc.DocumentSummaryInformation.Company); }
public void TestCreateNewProperties() { POIDocument doc = new HSSFWorkbook(); // New document won't have them Assert.IsNull(doc.SummaryInformation); Assert.IsNull(doc.DocumentSummaryInformation); // Add them in doc.CreateInformationProperties(); Assert.IsNotNull(doc.SummaryInformation); Assert.IsNotNull(doc.DocumentSummaryInformation); // Write out and back in again, no change ByteArrayOutputStream baos = new ByteArrayOutputStream(); doc.Write(baos); ByteArrayInputStream bais = new ByteArrayInputStream(baos.ToByteArray()); doc = new HSSFWorkbook(bais); Assert.IsNotNull(doc.SummaryInformation); Assert.IsNotNull(doc.DocumentSummaryInformation); }
public HPSFPropertiesExtractor(POIDocument doc) : base(doc) { }
public void setUp() { doc = HSSFTestDataSamples.OpenSampleWorkbook("DateFormats.xls"); doc2 = HSSFTestDataSamples.OpenSampleWorkbook("StringFormulas.xls"); }
private static void WriteToStream(Stream stream, DataTable dataTable) { int rowNum = 0, columnNum = 0; HSSFWorkbook workbook = new HSSFWorkbook(); ISheet sheet = workbook.CreateSheet(); ICell cell = null; //Column header style ICellStyle headerCellStyle = workbook.CreateCellStyle(); headerCellStyle.VerticalAlignment = VerticalAlignment.Center; headerCellStyle.Alignment = HorizontalAlignment.Center; headerCellStyle.FillForegroundColor = HSSFColor.LightYellow.Index; headerCellStyle.FillPattern = FillPattern.SolidForeground; IFont headerFont = workbook.CreateFont(); headerFont.Boldweight = (short)FontBoldWeight.Bold; headerCellStyle.SetFont(headerFont); #region Document info POIDocument document = workbook as POIDocument; DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation(); dsi.Company = "Sinopec"; document.DocumentSummaryInformation = dsi; SummaryInformation si = PropertySetFactory.CreateSummaryInformation(); si.Subject = "Sinopec.Cloud"; si.Author = "Blacktea"; document.SummaryInformation = si; #endregion #region Create header IRow row = sheet.CreateRow(rowNum++); row.HeightInPoints = 20; foreach (DataColumn column in dataTable.Columns) { cell = row.CreateCell(columnNum); cell.CellStyle = headerCellStyle; sheet.SetColumnWidth(columnNum, 4000); cell.SetCellValue(column.ColumnName); columnNum++; } #endregion #region Create body object value = null; foreach (DataRow dr in dataTable.Rows) { row = sheet.CreateRow(rowNum++); columnNum = 0; foreach (DataColumn column in dataTable.Columns) { cell = row.CreateCell(columnNum++); value = dr[column]; if (value != null) { cell.SetCellValue(value.ToString()); } } } #endregion workbook.Write(stream); }