Difference between revisions of "Calc/Features/Multi-range copy and paste"

From Apache OpenOffice Wiki
< Calc‎ | Features
Jump to: navigation, search
(When copying: added some screenshots of allowed range types.)
m (Multi-range copy and paste: this feature is integrated for 3.2.)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Multi-range copy and paste =
 
= Multi-range copy and paste =
 +
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 +
 +
|- align="left"
 +
| colspan="2" bgcolor="#cccccc"  | '''Specification Status'''
 +
|-
 +
| width="150" | '''Author''' || [[User:Kohei|Kohei Yoshida]]
 +
|-
 +
| width="150" | '''Last Change''' || See wiki history
 +
|-
 +
| width="150" | '''Status''' || Integrated via [http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300/koheimultirangecopy CWS koheimultirangecopy]
 +
|-
 +
|}
  
 
== Abstract ==
 
== Abstract ==
 
This feature extends Calc's current copy and paste functionality, to allow copying of a set of multiple non-contiguous ranges.  When pasted, all copied data get consolidated into a single range either horizontally or vertically.  There are some restrictions when ranges are being copied, in order to ensure that the pasted range become a rectangular range.
 
This feature extends Calc's current copy and paste functionality, to allow copying of a set of multiple non-contiguous ranges.  When pasted, all copied data get consolidated into a single range either horizontally or vertically.  There are some restrictions when ranges are being copied, in order to ensure that the pasted range become a rectangular range.
 +
 +
== References ==
 +
 +
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 +
|-
 +
| width="300" bgcolor="#dddddd" | '''Reference Document''' || bgcolor="#dddddd" | '''Check''' || bgcolor="#dddddd" | '''Location (URL)'''
 +
|-
 +
|'''Issue ID''' (required)
 +
|available
 +
|{{Bug|25855}}
 +
|-
 +
|-
 +
| '''[[Test case specification]]''' (required)
 +
| n/a
 +
|
 +
|-
 +
 +
|}
 +
 +
== Contacts ==
 +
 +
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 +
|-
 +
| width="300" bgcolor="#dddddd" | '''Role''' || bgcolor="#dddddd" | '''Name''' || bgcolor="#dddddd" | '''E-Mail Address'''
 +
|-
 +
| '''Developer'''
 +
| Kohei Yoshida
 +
| kyoshida@novell.com
 +
|-
 +
| '''Quality Assurance'''
 +
| Oliver Craemer
 +
| oliver.craemer@sun.com
 +
|-
 +
| '''Documentation'''
 +
| ''up for grabs''
 +
|
 +
|-
 +
| '''User Experience'''
 +
| ''up for grabs''
 +
|
 +
|-
 +
|}
  
 
== Detailed Specification ==
 
== Detailed Specification ==
Line 16: Line 70:
 
The following additional restrictions apply when copying:
 
The following additional restrictions apply when copying:
  
* Only coping of non-contiguous ranges is allowed.  Cutting is not allowed.
+
* Only copying of non-contiguous ranges is allowed.  ''Cutting is not allowed.''
* It copies cells that are either filtered or hidden.
+
* It copies cells even if they are filtered or hidden.
  
[[image:CopyByRow.png|thumb|center|Example of copying ranges with identical column range]]
+
[[image:CopyByRow.png|250px|thumb|center|Example of copying ranges with identical column range]]
[[image:CopyByColumn.png|thumb|center|Example of copying ranges with identical row range]]
+
[[image:CopyByColumn.png|400px|thumb|center|Example of copying ranges with identical row range]]
  
 
=== When pasting ===
 
=== When pasting ===
 
When pasting, the non-contiguous ranges copied to the clipboard get consolidated into a single range before being pasted to the destination.  How the ranges get consolidated depends on whether the ranges have identical column range (row-wise separation), or they have identical row range (column-wise separation).  For row-wise separation, ranges join by removing empty rows between the copied ranges, while for column-wise separation, ranges join by removing empty columns in-between them.
 
When pasting, the non-contiguous ranges copied to the clipboard get consolidated into a single range before being pasted to the destination.  How the ranges get consolidated depends on whether the ranges have identical column range (row-wise separation), or they have identical row range (column-wise separation).  For row-wise separation, ranges join by removing empty rows between the copied ranges, while for column-wise separation, ranges join by removing empty columns in-between them.
 +
 +
In case the copied ranges have formulas, the normal paste action ('''Edit - Paste''') pastes their formula values, not the formulas.  However, you can still paste formulas by '''Edit - Paste Special'''.
 +
 +
Unlike the single-range paste, multi-range paste disregards any highlighted selection and resets selection to that of the pasted range; it does not repeat the data across the highlighted region like the single-range paste does.
 +
 +
[[image:PasteByRow.png|600px|thumb|center|Example of pasting ranges with identical column range]]
 +
[[image:PasteByColumn.png|450px|thumb|center|Example of pasting ranges with identical row range]]
  
 
== Migration ==
 
== Migration ==
Line 35: Line 96:
  
 
== Open Issues ==
 
== Open Issues ==
 +
* When pasting ranges transposed, any drawing objects inside the copied ranges disappear after the paste.  This doesn't happen during single-range paste.
 +
* When pasting multiple ranges to another application, only the first range is pasted.
  
 
[[Category:Calc|Features/Multi-range copy and paste]]
 
[[Category:Calc|Features/Multi-range copy and paste]]
 
[[Category:Feature|Multi-range copy and paste]]
 
[[Category:Feature|Multi-range copy and paste]]

Latest revision as of 17:27, 3 December 2009

Multi-range copy and paste

Specification Status
Author Kohei Yoshida
Last Change See wiki history
Status Integrated via CWS koheimultirangecopy

Abstract

This feature extends Calc's current copy and paste functionality, to allow copying of a set of multiple non-contiguous ranges. When pasted, all copied data get consolidated into a single range either horizontally or vertically. There are some restrictions when ranges are being copied, in order to ensure that the pasted range become a rectangular range.

References

Reference Document Check Location (URL)
Issue ID (required) available Issue 25855
Test case specification (required) n/a

Contacts

Role Name E-Mail Address
Developer Kohei Yoshida kyoshida@novell.com
Quality Assurance Oliver Craemer oliver.craemer@sun.com
Documentation up for grabs
User Experience up for grabs

Detailed Specification

When copying

When copying a set of non-contiguous ranges, the ranges must either

  • have the same row range i.e. identical begin/end row pair, or
  • have the same column range i.e. identical begin/end column pair.

If neither of these conditions is met, an error message will appear, and nothing gets copied to the clipboard.

The following additional restrictions apply when copying:

  • Only copying of non-contiguous ranges is allowed. Cutting is not allowed.
  • It copies cells even if they are filtered or hidden.
Example of copying ranges with identical column range
Example of copying ranges with identical row range

When pasting

When pasting, the non-contiguous ranges copied to the clipboard get consolidated into a single range before being pasted to the destination. How the ranges get consolidated depends on whether the ranges have identical column range (row-wise separation), or they have identical row range (column-wise separation). For row-wise separation, ranges join by removing empty rows between the copied ranges, while for column-wise separation, ranges join by removing empty columns in-between them.

In case the copied ranges have formulas, the normal paste action (Edit - Paste) pastes their formula values, not the formulas. However, you can still paste formulas by Edit - Paste Special.

Unlike the single-range paste, multi-range paste disregards any highlighted selection and resets selection to that of the pasted range; it does not repeat the data across the highlighted region like the single-range paste does.

Example of pasting ranges with identical column range
Example of pasting ranges with identical row range

Migration

N/A

Configuration

N/A

File Format

N/A

Open Issues

  • When pasting ranges transposed, any drawing objects inside the copied ranges disappear after the paste. This doesn't happen during single-range paste.
  • When pasting multiple ranges to another application, only the first range is pasted.
Personal tools