Esempio n. 1
0
        private bool CopyWorkBook(IWorksheet src, IWorksheet dest, XlPasteType pastetype)
        {
            bool   success  = false;
            IRange used     = src.UsedRange;
            IRange srcrange = src.Range[1, 1, used.Row + used.Rows.Count, used.Column + used.Columns.Count];
            IRange dstrange = dest.Range[1, 1, used.Row + used.Rows.Count, used.Column + used.Columns.Count];

            srcrange.Copy(dstrange, pastetype);
            return(success);
        }
Esempio n. 2
0
        private bool CopyWorkBookValues(IWorksheet src, IWorksheet dest)
        {
            bool   success  = false;
            IRange used     = src.UsedRange;
            IRange srcrange = src.Range[1, 1, used.Row + used.Rows.Count, used.Column + used.Columns.Count];
            IRange dstrange = dest.Range[1, 1, used.Row + used.Rows.Count, used.Column + used.Columns.Count];

            srcrange.Copy(dstrange);
            for (int row = 1; row <= srcrange.Rows.Count; row++)
            {
                for (int col = 1; col <= srcrange.Columns.Count; col++)
                {
                    dstrange[row, col].Formula = null;
                    dstrange[row, col].Value   = srcrange[row, col].Value;
                    dstrange[row, col].ClearComments();
                }
            }

            return(success);
        }
Esempio n. 3
0
        void OnRead(Tcp tcpClient, IReadCompletion completion)
        {
            if (completion.Error != null)
            {
                Console.WriteLine($"{nameof(EchoServer)} read failed, {completion.Error}");
                tcpClient.Dispose();
                return;
            }

            IRange data = completion.Data;

            if (data.Count == 0)
            {
                return;
            }

            string message = data.GetString(Encoding.UTF8);

            /*
             * Scan for the letter Q which signals that we should quit the server.
             * If we get QS it means close the stream.
             */
            if (message.StartsWith("Q"))
            {
                tcpClient.Dispose();

                if (message.EndsWith("QS"))
                {
                    this.Dispose();
                }
            }
            else
            {
                byte[] array = data.Copy();
                tcpClient.QueueWrite(array, this.OnWriteCompleted);
            }
        }