Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 public HPSFPropertiesExtractor(POIDocument doc)
     : base(doc)
 {
 }
Esempio n. 4
0
 public void setUp()
 {
     doc  = HSSFTestDataSamples.OpenSampleWorkbook("DateFormats.xls");
     doc2 = HSSFTestDataSamples.OpenSampleWorkbook("StringFormulas.xls");
 }
Esempio n. 5
0
        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);
        }