Простое решение для Groovy:
solutionArray.sort{ new Random().nextInt() }
Это сортирует все элементы списка массивов случайным образом, который архивирует желаемый результат перетасовки всех элементов.
Для управления Excel предлагает pywin32 использования, как @igowen.
Примечание, что возможно использовать статическую отправку. Используйте makepy.py
из pywin32 проекта создать модуль Python с обертками Python. Используя сгенерированные обертки упрощает разработку, так как, например, ipython дает Вам заполнение клавишей Tab и справку во время разработки.
Статический пример отправки:
x:> makepy.py "Microsoft Excel 11.0 Object Library" ... Generating... Importing module x:> ipython
> from win32com.client import Dispatch
> excel = Dispatch("Excel.Application")
> wb = excel.Workbooks.Append()
> range = wb.Sheets[0].Range("A1")
> range.[Press Tab]
range.Activate range.Merge
range.AddComment range.NavigateArrow
range.AdvancedFilter range.NoteText
...
range.GetOffset range.__repr__
range.GetResize range.__setattr__
range.GetValue range.__str__
range.Get_Default range.__unicode__
range.GoalSeek range._get_good_object_
range.Group range._get_good_single_object_
range.Insert range._oleobj_
range.InsertIndent range._prop_map_get_
range.Item range._prop_map_put_
range.Justify range.coclass_clsid
range.ListNames range.__class__
> range.Value = 32
...
Ссылки на документацию:
Я сделал это при помощи pywin32. Это не особенно приятное впечатление, так как нет действительно никакой абстракции; это похоже на использование VBA, но с синтаксисом Python. Вы не можете полагаться на docstrings, таким образом, Вы захотите иметь MSDN удобная ссылка Excel (, http://msdn.microsoft.com/en-us/library/aa220733.aspx - то, что я использовал, если я помню правильно. Необходимо быть в состоянии найти документы Excel 2007, если Вы роете вокруг немного.).
См. здесь для простого примера.
from win32com.client import Dispatch
xlApp = Dispatch("Excel.Application")
xlApp.Visible = 1
xlApp.Workbooks.Add()
xlApp.ActiveSheet.Cells(1,1).Value = 'Python Rules!'
xlApp.ActiveWorkbook.ActiveSheet.Cells(1,2).Value = 'Python Rules 2!'
xlApp.ActiveWorkbook.Close(SaveChanges=0) # see note 1
xlApp.Quit()
xlApp.Visible = 0 # see note 2
del xlApp
Удачи!
Я работал над домашним проектом в прошлом году, который вовлекает клиент, записанный как Python плагин Excel. Проект является по существу базой данных онлайн, упрощенной для доступа конечных пользователей. Плагин Excel позволяет пользователям запрашивать данные из базы данных для отображения в Excel.
я никогда не становился очень далеким с плагином Excel, и мой код для него немного ужасен. Но, то, что я действительно имею, находится под лицензией BSD и доступный через Базар по телефону
http://www.launchpad.net/analyz/trunk
, клиент не будет работать, так как у меня нет общедоступного сервера, работающего прямо сейчас, но по крайней мере можно посмотреть на то, что я сделал с кодом, чтобы получить некоторое представление, как это могло работать. Код также покажет Вам, как создать диалоговое окно MFC в 100% Python.