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); }
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); }
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); } }