# Google Sheets API . spreadsheets . sheets

## Instance Methods

Copies a single sheet from a spreadsheet to another spreadsheet.

### Method Details

`copyTo(spreadsheetId, sheetId, body=None, x__xgafv=None)`

    Copies a single sheet from a spreadsheet to another spreadsheet.
    Returns the properties of the newly created sheet.

    Args:
      spreadsheetId: string, The ID of the spreadsheet containing the sheet to copy. (required)
      sheetId: integer, The ID of the sheet to copy. (required)
      body: object, The request body.
        The object takes the form of:

    { # The request to copy a sheet across spreadsheets.
        "destinationSpreadsheetId": "A String", # The ID of the spreadsheet to copy the sheet to.
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Properties of a sheet.
        "index": 42, # The index of the sheet within the spreadsheet.
            # When adding or updating sheet properties, if this field
            # is excluded then the sheet is added or moved to the end
            # of the sheet list. When updating sheet indices or inserting
            # sheets, movement is considered in "before the move" indexes.
            # For example, if there were 3 sheets (S1, S2, S3) in order to
            # move S1 ahead of S2 the index would have to be set to 2. A sheet
            # index update request is ignored if the requested index is
            # identical to the sheets current index or if the requested new
            # index is equal to the current sheet index + 1.
        "title": "A String", # The name of the sheet.
        "gridProperties": { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
            # (If the sheet is an object sheet, containing a chart or image, then
            # this field will be absent.)
            # When writing it is an error to set any grid properties on non-grid sheets.
          "rowCount": 42, # The number of rows in the grid.
          "columnCount": 42, # The number of columns in the grid.
          "frozenRowCount": 42, # The number of rows that are frozen in the grid.
          "rowGroupControlAfter": True or False, # True if the row grouping control toggle is shown after the group.
          "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
          "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
          "columnGroupControlAfter": True or False, # True if the column grouping control toggle is shown after the group.
        },
        "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
            # for simplicity of conversion to/from color representations in various
            # languages over compactness; for example, the fields of this representation
            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
            # method in iOS; and, with just a little work, it can be easily formatted into
            # a CSS "rgba()" string in JavaScript, as well.
            #
            # Note: this proto does not carry information about the absolute color space
            # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
            # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
            # space.
            #
            # Example (Java):
            #
            #      import com.google.type.Color;
            #
            #      // ...
            #      public static java.awt.Color fromProto(Color protocolor) {
            #        float alpha = protocolor.hasAlpha()
            #            ? protocolor.getAlpha().getValue()
            #            : 1.0;
            #
            #        return new java.awt.Color(
            #            protocolor.getRed(),
            #            protocolor.getGreen(),
            #            protocolor.getBlue(),
            #            alpha);
            #      }
            #
            #      public static Color toProto(java.awt.Color color) {
            #        float red = (float) color.getRed();
            #        float green = (float) color.getGreen();
            #        float blue = (float) color.getBlue();
            #        float denominator = 255.0;
            #        Color.Builder resultBuilder =
            #            Color
            #                .newBuilder()
            #                .setRed(red / denominator)
            #                .setGreen(green / denominator)
            #                .setBlue(blue / denominator);
            #        int alpha = color.getAlpha();
            #        if (alpha != 255) {
            #          result.setAlpha(
            #              FloatValue
            #                  .newBuilder()
            #                  .setValue(((float) alpha) / denominator)
            #                  .build());
            #        }
            #        return resultBuilder.build();
            #      }
            #      // ...
            #
            # Example (iOS / Obj-C):
            #
            #      // ...
            #      static UIColor* fromProto(Color* protocolor) {
            #         float red = [protocolor red];
            #         float green = [protocolor green];
            #         float blue = [protocolor blue];
            #         FloatValue* alpha_wrapper = [protocolor alpha];
            #         float alpha = 1.0;
            #         if (alpha_wrapper != nil) {
            #           alpha = [alpha_wrapper value];
            #         }
            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
            #      }
            #
            #      static Color* toProto(UIColor* color) {
            #          CGFloat red, green, blue, alpha;
            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
            #            return nil;
            #          }
            #          Color* result = [[Color alloc] init];
            #          [result setRed:red];
            #          [result setGreen:green];
            #          [result setBlue:blue];
            #          if (alpha <= 0.9999) {
            #            [result setAlpha:floatWrapperWithValue(alpha)];
            #          }
            #          [result autorelease];
            #          return result;
            #     }
            #     // ...
            #
            #  Example (JavaScript):
            #
            #     // ...
            #
            #     var protoToCssColor = function(rgb_color) {
            #        var redFrac = rgb_color.red || 0.0;
            #        var greenFrac = rgb_color.green || 0.0;
            #        var blueFrac = rgb_color.blue || 0.0;
            #        var red = Math.floor(redFrac * 255);
            #        var green = Math.floor(greenFrac * 255);
            #        var blue = Math.floor(blueFrac * 255);
            #
            #        if (!('alpha' in rgb_color)) {
            #           return rgbToCssColor_(red, green, blue);
            #        }
            #
            #        var alphaFrac = rgb_color.alpha.value || 0.0;
            #        var rgbParams = [red, green, blue].join(',');
            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
            #     };
            #
            #     var rgbToCssColor_ = function(red, green, blue) {
            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
            #       var hexString = rgbNumber.toString(16);
            #       var missingZeros = 6 - hexString.length;
            #       var resultBuilder = ['#'];
            #       for (var i = 0; i < missingZeros; i++) {
            #          resultBuilder.push('0');
            #       }
            #       resultBuilder.push(hexString);
            #       return resultBuilder.join('');
            #     };
            #
            #     // ...
          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
              # the final pixel color is defined by the equation:
              #
              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
              #
              # This means that a value of 1.0 corresponds to a solid color, whereas
              # a value of 0.0 corresponds to a completely transparent color. This
              # uses a wrapper message rather than a simple float scalar so that it is
              # possible to distinguish between a default value and the value being unset.
              # If omitted, this color object is to be rendered as a solid color
              # (as if the alpha value had been explicitly given with a value of 1.0).
        },
        "sheetId": 42, # The ID of the sheet. Must be non-negative.
            # This field cannot be changed once set.
        "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
        "tabColorStyle": { # A color value. # The color of the tab in the UI.
            # If tab_color is also set, this field takes precedence.
          "themeColor": "A String", # Theme color.
          "rgbColor": { # Represents a color in the RGBA color space. This representation is designed # RGB color.
              # for simplicity of conversion to/from color representations in various
              # languages over compactness; for example, the fields of this representation
              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
              # method in iOS; and, with just a little work, it can be easily formatted into
              # a CSS "rgba()" string in JavaScript, as well.
              #
              # Note: this proto does not carry information about the absolute color space
              # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
              # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
              # space.
              #
              # Example (Java):
              #
              #      import com.google.type.Color;
              #
              #      // ...
              #      public static java.awt.Color fromProto(Color protocolor) {
              #        float alpha = protocolor.hasAlpha()
              #            ? protocolor.getAlpha().getValue()
              #            : 1.0;
              #
              #        return new java.awt.Color(
              #            protocolor.getRed(),
              #            protocolor.getGreen(),
              #            protocolor.getBlue(),
              #            alpha);
              #      }
              #
              #      public static Color toProto(java.awt.Color color) {
              #        float red = (float) color.getRed();
              #        float green = (float) color.getGreen();
              #        float blue = (float) color.getBlue();
              #        float denominator = 255.0;
              #        Color.Builder resultBuilder =
              #            Color
              #                .newBuilder()
              #                .setRed(red / denominator)
              #                .setGreen(green / denominator)
              #                .setBlue(blue / denominator);
              #        int alpha = color.getAlpha();
              #        if (alpha != 255) {
              #          result.setAlpha(
              #              FloatValue
              #                  .newBuilder()
              #                  .setValue(((float) alpha) / denominator)
              #                  .build());
              #        }
              #        return resultBuilder.build();
              #      }
              #      // ...
              #
              # Example (iOS / Obj-C):
              #
              #      // ...
              #      static UIColor* fromProto(Color* protocolor) {
              #         float red = [protocolor red];
              #         float green = [protocolor green];
              #         float blue = [protocolor blue];
              #         FloatValue* alpha_wrapper = [protocolor alpha];
              #         float alpha = 1.0;
              #         if (alpha_wrapper != nil) {
              #           alpha = [alpha_wrapper value];
              #         }
              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
              #      }
              #
              #      static Color* toProto(UIColor* color) {
              #          CGFloat red, green, blue, alpha;
              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
              #            return nil;
              #          }
              #          Color* result = [[Color alloc] init];
              #          [result setRed:red];
              #          [result setGreen:green];
              #          [result setBlue:blue];
              #          if (alpha <= 0.9999) {
              #            [result setAlpha:floatWrapperWithValue(alpha)];
              #          }
              #          [result autorelease];
              #          return result;
              #     }
              #     // ...
              #
              #  Example (JavaScript):
              #
              #     // ...
              #
              #     var protoToCssColor = function(rgb_color) {
              #        var redFrac = rgb_color.red || 0.0;
              #        var greenFrac = rgb_color.green || 0.0;
              #        var blueFrac = rgb_color.blue || 0.0;
              #        var red = Math.floor(redFrac * 255);
              #        var green = Math.floor(greenFrac * 255);
              #        var blue = Math.floor(blueFrac * 255);
              #
              #        if (!('alpha' in rgb_color)) {
              #           return rgbToCssColor_(red, green, blue);
              #        }
              #
              #        var alphaFrac = rgb_color.alpha.value || 0.0;
              #        var rgbParams = [red, green, blue].join(',');
              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
              #     };
              #
              #     var rgbToCssColor_ = function(red, green, blue) {
              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
              #       var hexString = rgbNumber.toString(16);
              #       var missingZeros = 6 - hexString.length;
              #       var resultBuilder = ['#'];
              #       for (var i = 0; i < missingZeros; i++) {
              #          resultBuilder.push('0');
              #       }
              #       resultBuilder.push(hexString);
              #       return resultBuilder.join('');
              #     };
              #
              #     // ...
            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
                # the final pixel color is defined by the equation:
                #
                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
                #
                # This means that a value of 1.0 corresponds to a solid color, whereas
                # a value of 0.0 corresponds to a completely transparent color. This
                # uses a wrapper message rather than a simple float scalar so that it is
                # possible to distinguish between a default value and the value being unset.
                # If omitted, this color object is to be rendered as a solid color
                # (as if the alpha value had been explicitly given with a value of 1.0).
          },
        },
        "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
        "sheetType": "A String", # The type of sheet. Defaults to GRID.
            # This field cannot be changed once set.
      }