Exemple #1
0
        /**
         * Processes the given sheet
         */
        public void ProcessSheet(
            SheetContentsHandler sheetContentsExtractor,
            StylesTable styles,
            ReadOnlySharedStringsTable strings,
            InputStream sheetInputStream)
        {
            DataFormatter formatter;

            if (locale == null)
            {
                formatter = new DataFormatter();
            }
            else
            {
                formatter = new DataFormatter(locale);
            }

            InputSource      sheetSource = new InputSource(sheetInputStream);
            SAXParserFactory saxFactory  = SAXParserFactory.newInstance();

            try
            {
                SAXParser      saxParser   = saxFactory.newSAXParser();
                XMLReader      sheetParser = saxParser.GetXMLReader();
                ContentHandler handler     = new XSSFSheetXMLHandler(
                    styles, strings, sheetContentsExtractor, formatter, formulasNotResults);
                sheetParser.SetContentHandler(handler);
                sheetParser.Parse(sheetSource);
            }
            catch (ParserConfigurationException e)
            {
                throw new RuntimeException("SAX Parser appears to be broken - " + e.GetMessage());
            }
        }
Exemple #2
0
        /**
         * Processes the file and returns the text
         */
        public String GetText()
        {
            try
            {
                ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(Container);
                XSSFReader  xssfReader             = new XSSFReader(Container);
                StylesTable styles            = xssfReader.GetStylesTable();
                XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator)xssfReader.GetSheetsData();

                StringBuilder      text           = new StringBuilder();
                SheetTextExtractor sheetExtractor = new SheetTextExtractor(text);

                while (iter.HasNext())
                {
                    InputStream stream = iter.next();
                    if (includeSheetNames)
                    {
                        text.Append(iter.GetSheetName());
                        text.Append('\n');
                    }
                    ProcessSheet(sheetExtractor, styles, strings, stream);
                    stream.Close();
                }

                return(text.ToString());
            }
            catch (IOException e)
            {
                System.err.println(e);
                return(null);
            }
            catch (OpenXML4NetException o4je)
            {
                System.err.println(o4je);
                return(null);
            }
        }
        /**
         * Processes the file and returns the text
         */
        public String GetText()
        {
            try
            {
                ReadOnlySharedStringsTable strings = new ReadOnlySharedStringsTable(Container);
                XSSFReader xssfReader = new XSSFReader(Container);
                StylesTable styles = xssfReader.GetStylesTable();
                XSSFReader.SheetIterator iter = (XSSFReader.SheetIterator)xssfReader.GetSheetsData();

                StringBuilder text = new StringBuilder();
                SheetTextExtractor sheetExtractor = new SheetTextExtractor(text);

                while (iter.HasNext())
                {
                    InputStream stream = iter.next();
                    if (includeSheetNames)
                    {
                        text.Append(iter.GetSheetName());
                        text.Append('\n');
                    }
                    ProcessSheet(sheetExtractor, styles, strings, stream);
                    stream.Close();
                }

                return text.ToString();
            }
            catch (IOException e)
            {
                System.err.println(e);
                return null;
            }
            catch (OpenXML4NetException o4je)
            {
                System.err.println(o4je);
                return null;
            }
        }
        /**
         * Processes the given sheet
         */
        public void ProcessSheet(
                SheetContentsHandler sheetContentsExtractor,
                StylesTable styles,
                ReadOnlySharedStringsTable strings,
                InputStream sheetInputStream)
        {

            DataFormatter formatter;
            if (locale == null)
            {
                formatter = new DataFormatter();
            }
            else
            {
                formatter = new DataFormatter(locale);
            }

            InputSource sheetSource = new InputSource(sheetInputStream);
            SAXParserFactory saxFactory = SAXParserFactory.newInstance();
            try
            {
                SAXParser saxParser = saxFactory.newSAXParser();
                XMLReader sheetParser = saxParser.GetXMLReader();
                ContentHandler handler = new XSSFSheetXMLHandler(
                      styles, strings, sheetContentsExtractor, formatter, formulasNotResults);
                sheetParser.SetContentHandler(handler);
                sheetParser.Parse(sheetSource);
            }
            catch (ParserConfigurationException e)
            {
                throw new RuntimeException("SAX Parser appears to be broken - " + e.GetMessage());
            }
        }