Как часть программы C#, которую я создаю, мне нужно сгенерировать 1 книгу, содержащую; 2 разных листа и 3-й, которые можно было бы производить сколько угодно раз, что является самым эффективным способом сделать это? Я изучил использование шаблонов, хотя я не уверен, как повторять некоторые рабочие листы, пока только показывая других. Любая помощь или совет будут оценены.Использование шаблонов в excel с C#
ответ
Простым способом является создание рабочей книги с примерами из трех рабочих листов. Затем сделайте копию. Откройте и скопируйте рабочий лист номер 3 в рабочую книгу в качестве новой рабочей таблицы по мере необходимости.
В ответ на комментарий:
Есть несколько двигателей преуспеть в продуктах компонентов .net наши там, как таблицы шестерня или Aspose клетки. Но если ваше приложение является формой окна и на котором, как гарантируется, будет работать приложение, вы можете использовать автоматизацию делопроизводства. Вы не можете юридически использовать автоматизацию офиса на веб-сервере, но это возможно как на веб-сервере, так и на рабочем столе клиента. Я использовал ячейки aspose, и с ними очень легко работать и очень способно и немного дешевле, чем оборудование для электронных таблиц, но также имеет хорошую репутацию. Оба этих компонента имеют очень хорошую документацию о том, как сделать что-либо с помощью excel. Но если у вас есть преимущество и вы хотите использовать автоматизацию делопроизводства, обязательно посмотрите пример кода в Интернете о том, как правильно закрыть excel с C# или vb.net. Есть некоторые трюки, чтобы заставить его нормально закрыться.
Во-первых, спасибо за ответ. Я подумал об этом, хотя я был не уверен, что это лучший метод. Знаете ли вы о каких-либо хороших ресурсах для создания листов excel с помощью C#. Ресурсы, которые я нашел, были довольно бедными. – 2009-07-06 19:07:31
см. Мои правки выше, а также с помощью автоматизации офиса вы можете использовать http: // msdn.microsoft.com/en-us/library/aa272268(office.11).aspx как ссылка api. – gjutras
+1: Так я всегда это делаю. – RBarryYoung
имеет ISheet.CopyAfter/CopyBefore методы, которые позволяют копировать весь рабочий лист в рабочей книге или между книгами.
Вы можете увидеть пример дублирования одном рабочем листе несколько раз в листе с диаграммой на несколько листов с графиками образца на странице SpreadsheetGear/Excel отчетов Образцы here.
Отказ от ответственности: У меня есть SpreadsheetGear ООО
Я делал это раньше с шаблонами. Я бы создал шаблон xls с первыми двумя листами, которые вы не хотите изменять, затем добавьте 3-й рабочий лист, который вы можете скопировать в конец рабочей книги (так как вам нужно больше рабочих листов).
Если вы знаете заранее, сколько из 3-го рабочего листа вам нужно, вы можете скопировать их до конца и удалить шаблон 3-го слота.
ExcelTemplateManager t = new ExcelTemplateManager(template_path, log_path);
t.CopyWorksheetToEnd(3);
t.CopyWorksheetToEnd(3);
t.RemoveAtIndexWorksheet(3);
t.SetSomeValue(3);
t.SetSomeValue(4);
t.Close();
Если вы не знаете, а затем сохранить шаблон вокруг, чтобы скопировать его в конец по мере необходимости, а затем, когда вы закончите, просто удалите 3-й шаблон рабочего листа.
ExcelTemplateManager t = new ExcelTemplateManager(template_path, log_path);
t.CopyWorksheetToEnd(3);
t.SetSomeValue(4);
t.CopyWorksheetToEnd(3);
t.SetSomeValue(5);
t.RemoveAtIndexWorksheet(3);
t.Close();
Я использовал DLL Microsoft.Office.Interop.Excel, чтобы создать свой класс ExcelTemplateManger. Основная идея - создать копию файла excel шаблона и сработать с копией. Дайте мне знать, если вам нужна помощь в настройке этой части, но это должно быть слишком плохо.
Можете ли вы показать мне, как выглядит ваш менеджер шаблонов. Мне нужно посмотреть, как вы заполняете шаблон – user236215
- 1. Использование шаблонов в C++
- 2. Использование шаблонов Excel с Apache POI
- 3. C++ Использование шаблонов
- 4. Использование шаблонов для C++
- 5. Использование шаблонов C++ с классом динамической привязки
- 6. Использование классов шаблонов в коде cuda/C++
- 7. Использование шаблонов
- 8. Использование указателей функций в классе шаблонов C++
- 9. Использование шаблонов шаблонов django с JavaScript
- 10. Проблема с файлами шаблонов Excel
- 11. Использование шаблонов bash с префиксом
- 12. Импорт данных в Excel с использованием шаблонов XML и Excel
- 13. Использование шаблонов шаблонов zinnia в шаблоне блога
- 14. Использование шаблонов шаблонов Django в img src
- 15. Использование шаблонов шаблонов admin Django
- 16. Использование шаблонов в REPLACE
- 17. Использование шаблонов в SAPUI5?
- 18. Обтекание конструкторов шаблонов C++ в классе шаблонов
- 19. Использование Html.DisplayFor в MVC с помощью шаблонов
- 20. Основы шаблонов шаблонов C++
- 21. Объявление шаблонов в C++
- 22. Использование альтернативных шаблонов с Middleman
- 23. Использование шаблонов функций C++ для группы функций
- 24. Использование несколько шаблонов с KnpPaginatorBundle
- 25. Использование шаблонов C++ для диспетчера ресурсов SFML
- 26. Дизайн шаблонов с C#
- 27. C++: Использование циклов и переменных шаблонов (последовательность)
- 28. C++ - Использование шаблонов вместо виртуальных функций
- 29. Использование функций шаблонов с номерами
- 30. Использование шаблонов YAML с Swig
http://stackoverflow.com/questions/193092/c-how-to-add-excel-worksheet-programatically-office-xp-2003 – SwDevMan81
Спасибо за ваш ответ, я знаю, как добавлять рабочие листы в рабочую книгу, моя трудность заключалась в добавлении листов, которые уже имели форматирование. Возможно шаблон, когда шаблон уже используется. – 2009-07-06 19:43:20