Updating a cell in a column formula is not supported. columnId

Hi All,

I am trying to update a smartsheet from a sql table. Several of the columns in the smartsheet have column formula's thus, when I try to update them, the API throws the error:"Updating a cell in a column formula is not supported. columnId"

In my code, I open the smartsheet and read all the columns to build a model. Unfortunately, I do not see an attribute that says this column is a column formula. So when I try to write rows to the smartsheet it fails.

See attached code. Any help would be appreciated

// list of SQL records

List listOfAllInfoCenterQuestionsFromSQL = new List();

// fetch the sql records

listOfAllInfoCenterQuestionsFromSQL = mySQLService.GetInfoCenterRecord( ALL_PROPERTIES, ALL_QIDS );

/ /遍历所有信息记录文件记录found in SQL

foreach( InfoCenter aSQLInfoCenterRecord in listOfAllInfoCenterQuestionsFromSQL )

{

//Serialize the SQL object to Jason and add it to the Smartsheet

Row rowToAdd = mySmartsheetService.AddRowFromJson( JsonConvert.SerializeObject( aSQLInfoCenterRecord ) );

if( rowToAdd != null )

{

mySmartsheetService.SmartsheetClient.SheetResources.RowResources.AddRows( (long)infoCenterSheet.Id, new Row[] { rowToAdd } );

}

}

Answers

  • Here is the AddRowFromJson code

    // Take a string of Json code and create a Smartsheet Row out of the data

    public Row AddRowFromJson( string sourceJson )

    {

    Row aNewRow = null;

    List cellsToUpdate = new List();


    JObject jsonObjects = (JObject)JsonConvert.DeserializeObject( sourceJson );

    foreach( KeyValuePair aColumn in columnMap )

    {

    if( jsonObjects.TryGetValue( aColumn.Key, out JToken jToken ) )

    {

    var cellToUpdate = new Cell

    {

    ColumnId = aColumn.Value,

    Value = jToken.ToString(),

    Strict = false

    };

    cellsToUpdate.Add( cellToUpdate );

    }

    }

    if( cellsToUpdate.Count > 0 )

    {

    aNewRow = new Row();

    aNewRow.Cells = cellsToUpdate;

    }

    return aNewRow;

    }

  • Genevieve P.
    Genevieve P. Employee Admin

    Hi@Steve Rieger

    I believe there should be two potential ways to find if a column has a column formula:

    1 . If you retrieve the sheet object, then the sheet object that is returned contains a list of column objects. Thecolumn objectwill then contain a field called"formula", which you can check to see if it is null or not. (See here for the documentation on Sheet Object.)

    2 . Or, you can get a list of columns only with:GET /sheets/{sheetId}/columns. This may be a bit faster for a larger sheet, since the sheet's data won't be included. (See here.)

    Let me know if either of these work for you!

    Cheers,

    Genevieve

You cannot sent an update request via API to text.<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":320,"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":1}],"tags":[{"tagID":227,"urlcode":"api-and-developers","name":"API and Developers"}]},{"discussionID":108829,"type":"question","name":"Power automate question (multi-contact list)","excerpt":"I'm using power automate to wire up some info into smartsheets. I have everything working so far but multi contact list and multi pick list. The contact list error I get is this: The value \"John smith\" could not be saved in column \"Assignment\". This column is restricted to MULTI_CONTACT_LIST values only. The name is…","snippet":"I'm using power automate to wire up some info into smartsheets. I have everything working so far but multi contact list and multi pick list. The contact list error I get is this:…","categoryID":320,"dateInserted":"2023-08-10T23:21:44+00:00","dateUpdated":"2023-08-11T08:46:38+00:00","dateLastComment":"2023-08-17T13:42:41+00:00","insertUserID":164958,"insertUser":{"userID":164958,"name":"jtadhs","title":"Title","url":"https:\/\/community.smartsheet.com\/profile\/jtadhs","photoUrl":"https:\/\/lh3.googleusercontent.com\/a\/AAcHTtfNpbIYWnLk6ZczJ1ClRDc4ET2YJ_HxgNiq2jl7URt0RjU=s96-c","dateLastActive":"2023-08-16T23:05:43+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"updateUserID":91566,"lastUserID":86866,"lastUser":{"userID":86866,"name":"Jeff Reisman","title":"","url":"https:\/\/community.smartsheet.com\/profile\/Jeff%20Reisman","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/3V8W2AM105QE\/nIDXI4I7VDS7W.JPG","dateLastActive":"2023-08-18T19:31:15+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":7,"countViews":110,"score":null,"hot":3383993665,"url":"https:\/\/community.smartsheet.com\/discussion\/108829\/power-automate-question-multi-contact-list","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/108829\/power-automate-question-multi-contact-list","format":"Rich","lastPost":{"discussionID":108829,"commentID":391128,"name":"Re: Power automate question (multi-contact list)","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/391128#Comment_391128","dateInserted":"2023-08-17T13:42:41+00:00","insertUserID":86866,"insertUser":{"userID":86866,"name":"Jeff Reisman","title":"","url":"https:\/\/community.smartsheet.com\/profile\/Jeff%20Reisman","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/userpics\/3V8W2AM105QE\/nIDXI4I7VDS7W.JPG","dateLastActive":"2023-08-18T19:31:15+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭✭"}},"breadcrumbs":[{"name":"Home","url":"https:\/\/community.smartsheet.com\/"},{"name":"Get Help","url":"https:\/\/community.smartsheet.com\/categories\/get-help"},{"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers"}],"groupID":null,"statusID":3,"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-15T22:16:09+00:00","dateAnswered":"2023-08-15T13:47:37+00:00","acceptedAnswers":[{"commentID":390662,"body":"
\n \n https:\/\/community.smartsheet.com\/discussion\/comment\/390588#Comment_390588\n <\/a>\n<\/div>\n

Is your Multi contact list column restricted to only values that are in the contact list for the sheet? If so, you might want to turn that off.<\/p>

Also make sure the column isn't locked.<\/p>

Also add a \"level\" parameter to the API call with value of 2, that should enable multi picklist and multi-contact list functions.<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":320,"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[]},{"discussionID":108731,"type":"question","name":"API export to excel to include the rowpermalink","excerpt":"trying to include the rowpermalink in my sheet export according to the API doc the ?include=rowpermalink in the URL should do it however it does not show in the row with all the other data from the sheet. any help would be greatly apprecitated. $URL =…","snippet":"trying to include the rowpermalink in my sheet export according to the API doc the ?include=rowpermalink in the URL should do it however it does not show in the row with all the…","categoryID":320,"dateInserted":"2023-08-09T14:56:39+00:00","dateUpdated":null,"dateLastComment":"2023-08-11T17:42:09+00:00","insertUserID":164847,"insertUser":{"userID":164847,"name":"palefty","url":"https:\/\/community.smartsheet.com\/profile\/palefty","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-11T17:41:17+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"updateUserID":null,"lastUserID":164847,"lastUser":{"userID":164847,"name":"palefty","url":"https:\/\/community.smartsheet.com\/profile\/palefty","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-11T17:41:17+00:00","banned":0,"punished":0,"private":false,"label":"✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":2,"countViews":82,"score":null,"hot":3383369928,"url":"https:\/\/community.smartsheet.com\/discussion\/108731\/api-export-to-excel-to-include-the-rowpermalink","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/108731\/api-export-to-excel-to-include-the-rowpermalink","format":"Rich","tagIDs":[227],"lastPost":{"discussionID":108731,"commentID":390267,"name":"Re: API export to excel to include the rowpermalink","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/390267#Comment_390267","dateInserted":"2023-08-11T17:42:09+00:00","insertUserID":164847,"insertUser":{"userID":164847,"name":"palefty","url":"https:\/\/community.smartsheet.com\/profile\/palefty","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-08-11T17:41:17+00:00","banned":0,"punished":0,"private":false,"label":"✭"}},"breadcrumbs":[{"name":"Home","url":"https:\/\/community.smartsheet.com\/"},{"name":"Get Help","url":"https:\/\/community.smartsheet.com\/categories\/get-help"},{"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers"}],"groupID":null,"statusID":3,"attributes":{"question":{"status":"accepted","dateAccepted":"2023-08-11T17:42:18+00:00","dateAnswered":"2023-08-10T03:06:28+00:00","acceptedAnswers":[{"commentID":389950,"body":"

Hi @palefty<\/a> <\/p>

The Smartsheet API does not possess a native method to directly fetch or incorporate clickable row permalinks when you export a sheet to an Excel file. So, users need more intuitive, clickable links within their exported Excel sheets.<\/p>

To address this, I have implemented a workaround:<\/p>

(I used Smartsheet SDK to implement the workaround)<\/p>

\n \n https:\/\/gist.github.com\/jmyzk\/5cc4dfbbf79b010d374f0b5ad3fa0a4b\n <\/a>\n<\/div>


<\/p>

Fetching Permalinks:<\/strong> The code interacts with the Smartsheet API to retrieve each row's permalink values.<\/p>

Incorporating into the sheet:<\/strong> These permalink values are then populated into a designated column. When you export the sheet as an Excel file, you'll notice a column filled with URLs corresponding to the permalinks for each row in Smartsheet.<\/p>

\n
\n \n \"export<\/img><\/a>\n <\/div>\n<\/div>\n
\n \n https:\/\/app.smartsheet.com\/b\/publish?EQBCT=adda95b9ed0d49f192faa76e1535bc47\n <\/a>\n<\/div>

Making the Links Clickable:<\/strong> As a final step, to enhance user experience and ease of access, the code processes the Excel file to convert these plain URL texts into clickable hyperlinks. Thus, when users click these links in the Excel sheet, they're directed to the appropriate Smartsheet row online.<\/p>

With the implemented code, users can easily navigate to Smartsheet rows directly from their Excel sheets.<\/p>

\n
\n \n \"expoerted<\/img><\/a>\n <\/div>\n<\/div>\n


<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":320,"name":"API & Developers","url":"https:\/\/community.smartsheet.com\/categories\/api-developers","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[{"tagID":227,"urlcode":"api-and-developers","name":"API and Developers"}]}],"initialPaging":{"nextURL":"https:\/\/community.smartsheet.com\/api\/v2\/discussions?page=2&categoryID=320&includeChildCategories=1&type%5B0%5D=Question&excludeHiddenCategories=1&sort=-hot&limit=3&expand%5B0%5D=all&expand%5B1%5D=-body&expand%5B2%5D=insertUser&expand%5B3%5D=lastUser&status=accepted","prevURL":null,"currentPage":1,"total":213,"limit":3},"title":"Trending in API & Developers","subtitle":null,"description":null,"noCheckboxes":true,"containerOptions":[],"discussionOptions":[]}">

Trending in API & Developers