algorithmic modeling for Rhino

Hi Group,

Just want to share three component developed recently. One for read Excel file, one for read Excel file interactively and one for write data to Excel. Slightly improvement from previous post( and a new write component.

The excel components in gHowl works very well but I think for me I just like to have more control(for example: not overwrite the whole excel file when I use the write component).

The component has more functions(for example: it can record all the values in Excel when you change your slider, maybe it can even record all the results from Galapagos, haven't try this) but it also use more resources.

Please try these components and give your valuable advices. 

I have compiled for both Rhino 4 and 5, you can try the components accordingly. 

Views: 30102


Replies to This Discussion

Add two demo files.



Wow.. it's a nice solution.. especially the overwrite / recording option..


I have to analyze parametric structural model iteratively..


for many hours or a couple of days.. for thousands of cases.. finding optimized solution..


Great.. You're been a big help.. Thanks..


Very cool man, thank you for sharing!

Thanks xiaoming,

ELELENT Compoment
 Great job, and the correction is so fast !!

Thank you for your feedback. It might be because of the language support of Excel. I only developed for English (my fault...).
You could try install "multilingual user interface pack" for Office 20**, for example for Office 2007
I hope this helps, please let me know whether it works for you.

I already mentioned the problem. it is true that it's more dynamic slow on large files exel (not necessarily a lot of sheet)

I tried to improve on the speed after I saw your comment in the previous post. Right now the component is reading cell by cell and this is why on large files it is slow. I tried to use reading range function but it it only works for rows which I think is contradict to normally how people store data (in columns). Right now I don't have a good solution for this, but I will look into it.

Thank you. So it is confirmed it is because of language support.
For "selecting multiple column/row range", it is possible, instead of the default "all" for range input, it could be a list of strings, for example:
It will read the columns and put each into a list. Rows also works such as a12:f12
But it does not accept a range such as a12:b24
For more details you can check the manual.

Hi, actually a simple script will work. Give it a try.


Very interesting component,

I have the same problem (probably also a language problem) and used the workaround of Mateusz. I made a VB-component with only the 


System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")


then the ExDRead component works but it is not dynamic...

Xiaoming, is it is possible to put those lines of code in the ExDRead component? wouldn't that solve the problem for not Englisch-US users?

Hello all, 

i seem to be having a similar problem... the error message reads 'solution exception.object reference not set to an instance of an object'. I have e pretty new version of is in english....i tried connecting the component to a .xls file and to a .xlsx file, on your demo files and it still doesn't work. Do you have any idea of what the cause might be?

thank you in advance!



Hi Anabela,

It might be because the data from Excel is not send to grasshopper correctly.

Are you using Office 15? The way it handle data might be different. Is it possible to try office 2010 or 2007?








  • Add Photos
  • View All

© 2023   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service