Thursday, December 2, 2010

Resolver One CellRange oddities

I've started working on a project in which we're using Resolver One as a dashboard. The workbook consumes multiple data sources (services, DB, YAML files, etc.), collates and formats, and may eventually do other cool stuff like kick off simulations or generate charts. But we're still in the early stages, so I'm just fleshing out the configuration routines and table displays.

What I've found so far is that Resolver One is a cool package, but seems to have some weak points. The documentation is okay, but the layout seems less than intuitive, and the volume of documentation is somewhat lacking in comparison to The Enterprise Spreadsheet app. That's to be expected, so it doesn't bother me much.

The thing that does bother me is an apparent code deficiency in combination with my inability to log into their support forums to ask questions. I assume the forum issue is temporary and will be resolved (ha) shortly, but the code issue seems like a bug.

Basically, my problem is that CellRanges don't act Pythonically, or even correctly, it would seem. For one, you can't do this:

cellrange.HeaderRow = worksheet.HeaderRow

Why not? That seems like the most logical (and Pythonic) operation you could perform. I actually couldn't set the HeaderRow through any means, no matter what sort of value I passed in.

I had a second issue, but I just determined that it was user error and fixed it. Will continue this post if I come across something else...


3 comments:

Panama Blog said...

Hi, Ira! This is interesting, but... I thought only snakes behaved Pythonically. Clearly I need to re-start my life as a hacker and then go to Berkeley.

Panama Blog said...

Hi, Ira! This is interesting, but... I thought only snakes behaved Pythonically. Clearly I need to re-start my life as a hacker and then go to Berkeley.

Giles said...

Hi there,

Giles from the Resolver team again here -- that's a great suggestion about the header row. The reason it doesn't work is that a row for a cell range is a set of cells contained within that range -- so, for example, the first row in the range A2:D5 is A2:D2. The rows of the worksheet are a different size -- in theory, infinite -- going from column 1 all the way out to the right.

Still, I can see that it would be useful to have some kind of conversion, as if you were to say that you wanted the header row of the range A2:D5 to be the second row of the spreadsheet, it's pretty clear what you mean. If you were to try to do something impossible (for example to set the header row of a cell range to something outside the range) then we could easily generate an error message.

I'll put that into our enhancement tracker.

BTW were you able to log in to our forums?


Regards,

Giles