Comments 12
Еще конкретно для Excel очень неплох epplus.codeplex.com/
Извинте, но у вас код-лапша…
Может как-то стоило выделить основные моменты:
работа с документом,
работа со страницами,
работа с блоками данных,
работа с типами данных.
Достаточно объяснить это все на простых коротких примерах, чтоб понять преимущество и удобство бибилиотеки.
А для тех, кто заинтересуется — добро пожаловать под спойлер с исходиком.
Может как-то стоило выделить основные моменты:
работа с документом,
работа со страницами,
работа с блоками данных,
работа с типами данных.
Достаточно объяснить это все на простых коротких примерах, чтоб понять преимущество и удобство бибилиотеки.
А для тех, кто заинтересуется — добро пожаловать под спойлер с исходиком.
Отображение такого большого количества кода ни к чему — заключите его хотя бы в спойлеры.
if (!File.Exists(TemplateFolder + templateName + ".xlsx"))
{
throw new Exception(String.Format("Не удалось найти шаблон документа \n\"{0}\"!", TemplateFolder + templateName + ".xlsx"));
}
Дальше можно и не читать — уровень исполнения вполне понятный (это я про тип генерируемого эксепшена, если кто не понял, хотя и про конкатенацию можно сказать и еще про парочку моментов...).
Просто это первый мой пост. Если что пишите, исправляйте. Буду учитывать ошибки и исправляться. И исходник выложу.
Это может быть наилучшим решением. Но какой же тоскливый стиль программирования фреймворками.
1. Либо в посте описывается «Я знаю как решить мою проблему при помощи фреймворка F» (о данном посте).
2. Либо «Я придумал как решить мою задачу примитивными средствами»
На что сразу же получаем коммент:
— А вы знаете о существовании фреймворка F?
Сжатое время разработки толкает к собиранию программы из готовых «кирпичиков». Но их очень и очень много, поэтому нужно знать всевиды кирпичей фреймворки и быть в курсе, не подох ли очередной «кирпичный завод».
1. Либо в посте описывается «Я знаю как решить мою проблему при помощи фреймворка F» (о данном посте).
2. Либо «Я придумал как решить мою задачу примитивными средствами»
На что сразу же получаем коммент:
— А вы знаете о существовании фреймворка F?
Сжатое время разработки толкает к собиранию программы из готовых «кирпичиков». Но их очень и очень много, поэтому нужно знать все
Честно говоря, слабовато.
В свое время делал нечто подобное, там можно было использовать Linq выражения в ячейках (типа: DataObject.SomeArray.First().SomeField и простейшая математика: SomeObject.A + SomeObject.B), колонки могли динамически добавляться, если происходил маппинг на свойство с типом, реализующий IDictionary, да много чего еще было…
В свое время делал нечто подобное, там можно было использовать Linq выражения в ячейках (типа: DataObject.SomeArray.First().SomeField и простейшая математика: SomeObject.A + SomeObject.B), колонки могли динамически добавляться, если происходил маппинг на свойство с типом, реализующий IDictionary, да много чего еще было…
Тут конечно, можно сделать много, чего. Наворотить и т.д. Но как я писал в начале, цель была, просто выгружать данные по шаблону, ибо у нас уже был этот функционал ранее и давно работал. Надо было просто уйти от MS Office и уйти так, чтоб не переделывать кучу шаблонов и функционал. И дополнительные фишки в этом функционале не нужны. И когда я искал это, я натыкался на кучу подобных вопросов на форумах. Вот и решил написать решение, для таких же ситуаций как у меня. А кому надо будет, тот уже прикрутит дополнительные вещи, ну или это уже будет темой для нового поста )
Sign up to leave a comment.
Excel загрузка и выгрузка данных, используя OpenXML