Создание таблицы электронных таблиц Excel с использованием objective-c для приложения iOS

У меня есть пример приложения iOS, который генерирует несколько отчетов, используя данные в приложении. Эти отчеты выглядят точно так же, как и таблицы Microsoft Excel.

enter image description here

Как я могу сгенерировать подобное с помощью objective-c. Я не знаю, как создать такой вид сетки. У нас есть какая-либо поддерживаемая инфраструктура objective-c или anyhting, подобная UITableView, чтобы создать такую ​​электронную таблицу.

Любая помощь очень ценится.

Ответ 1

Я никогда не видел ничего подобного этому открытому исходному коду, и я не думаю, что есть. Поэтому я попытаюсь сделать это. Я думаю, что есть три способа:

  • HTML. Это должен быть более простой способ. Используя UIWebView для рендеринга некоторых предварительно сгенерированных HTML/CSS, вы можете легко создать эту таблицу (или даже использовать JS-библиотеку).

  • Использование вида сетки: либо с помощью решения Apple (UICollectionView, так как iOS 6.0) или стороннего пользователя (AQGridView, GMGridView и т.д. Есть несколько, я использовал AQGridView, и его довольно полный). Сложность здесь заключается в том, что эти библиотеки обычно разрабатываются для отображения сетки UIViews, поэтому нетрудно сделать их похожими на таблицу, которую вы хотите.

  • CoreGraphics. Это намного сложнее, так как вам нужно рисовать все строки, а затем рисовать поля, но гораздо более гибкими. Я разработал библиотеку для построения радарной диаграммы (RPRadarChart) с использованием Core Graphics, и это было не так сложно. У меня есть репозиторий github со всем кодом, который я использовал для изучения Core Graphics, если хотите, взгляните на него: RPCGSandbox

Удачи, и если вы найдете лучшее решение, сообщите нам об этом.

Ответ 2

Я искал другое решение этой проблемы, но до сих пор я нашел: https://github.com/mochidev/MDSpreadView

Похож на электронную таблицу и имеет аналогичный интерфейс с тем, что использует UITableView. Я искал альтернативу, потому что MDSpreadView не использует ARC, имеет пару предупреждений компилятора, и когда я создал для него проект библиотеки, я заметил, что он использует много изображений, которые по умолчанию не копируются.

Ответ 4

Используйте несколько таблиц в качестве столбцов, а при прокрутке вы также прокручиваете остальную часть. Я создаю сетку, используя ее, и она эффективна для примерно 10000 строк и 20 столбцов. Если вы хотите, я могу вам помочь, как это будет сделано.