예제 #1
0
        private void _ReadCommentsXml()
        {
            if (_cellComments != null)
            {
                return;
            }
            _cellComments = new CellComments();
            if (isClosed || sheetIndex >= sheetCount)
            {
                return;
            }
            var reader = _GetCommentsReader();

            if (reader == null)
            {
                return;
            }
            CellRef?      k = null;
            StringBuilder v = null;

            while (reader.Read())
            {
                if (reader.Name == "comment")
                {
                    var nt = reader.NodeType;
                    if (nt == XmlNodeType.Element)
                    {
                        k = new CellRef(reader.GetAttribute("ref"));
                    }
                    else if (nt == XmlNodeType.EndElement)
                    {
                        _cellComments.Add(k.Value, v.ToString());
                        k = null;
                        v = null;
                    }
                    continue;
                }
                if (k.HasValue && reader.IsStartElement("t"))
                {
                    reader.Read();
                    if (v == null)
                    {
                        v = new StringBuilder();
                    }
                    v.Append(reader.Value);
                    continue;
                }
            }
        }
예제 #2
0
        public bool MoveToNextSheet()
        {
            if (isClosed || ++sheetIndex >= sheetCount)
            {
                return(false);
            }
            var sheetPath = _sheetPaths[_sheetRelsIds[sheetIndex]];

            sheetName     = _sheetNames[sheetIndex];
            _sheetReader  = _sheetReaders[sheetPath];
            _cellComments = null;
            cellRef       = new CellRef(0, 0);
            _cellValue    = null;
            return(true);
        }
예제 #3
0
 public ReadOnlyCellComments(CellComments cellComments)
 {
     _cellComments = cellComments;
 }