# Google Sheets API . spreadsheets . sheets

## Instance Methods

Copies a single sheet from a spreadsheet to another spreadsheet.

### Method Details

`copyTo(spreadsheetId, sheetId, body, 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. (required)
        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.
        "sheetType": "A String", # The type of sheet. Defaults to GRID.
            # This field cannot be changed once set.
        "index": 42, # The index of the sheet within the spreadsheet.
            # When adding or updating sheet properties, if this field
            # is excluded then the sheet will be 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 will be 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.
          "columnCount": 42, # The number of columns in the grid.
          "frozenRowCount": 42, # The number of rows that are frozen in the grid.
          "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
          "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
          "rowCount": 42, # The number of rows in the grid.
        },
        "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
        "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. Here are some examples:
            #
            # 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('');
            #     };
            #
            #     // ...
          "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).
          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
        },
        "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
        "sheetId": 42, # The ID of the sheet. Must be non-negative.
            # This field cannot be changed once set.
      }