2013-08-04 17 views
5

Chcę wygenerować plik dokumentu Word (.docx), który opiera się na szablonie może być szablonem słowa lub tekst może być przechowywany w kodzie.Jak wygenerować dokument docx dokumentu tekstowego z istniejącym tekstem jak w szablonie, ale wpisać wartość za pośrednictwem formularza internetowego asp.net?

Teraz wygenerowany dokument powinien być oparty na danych wejściowych dostarczonych przez użytkownika za pomocą formularza WWW ASP.net z polami tekstowymi w celu wprowadzenia wartości.

Wartości te zostaną uwzględnione i umieszczone w pozycjach zastępczych w szablonie słowa.

  1. Jak mogę użyć szablonu słowo w projekcie sieci web ASP.net?
  2. Jak mogę pobrać wartości z formularza internetowego ASP.net i przekazać je do szablonu słowa, wypełnić znak zastępczy z tekstem, a następnie wygenerować dokument tekstowy?

Widziałem kilka przykładów, w których tekst do wygenerowania jest tworzony jako HTML, a następnie eksportowany plik jest podana w msword pliku, aby zapisać jako plik tekstowy. Ale w tym przypadku zastanawiam się, w jaki sposób mogę podać numery stron i inne wartości nagłówka lub stopki do wygenerowanego dokumentu.

Więc jeśli mogę użyć szablonu ze słowem, po prostu wypełnij żądane wartości, a następnie wygeneruj dokument końcowy, to świetnie.

Czy jest coś nowego do zrobienia w Visual Studio 2012? Próbuję zrobić to za pomocą C#.

Odpowiedz

7

Masz kilka opcji tworzenia dokumentów Word -

  1. Zastosowanie automatyki słowo - to jest bezpośrednio za pomocą MS Word. Niezalecane, jeśli korzystasz z serwera - jest powolny i ma rozszerzalność i inne problemy.

  2. Używanie OpenXML - to SDK Microsoftu do pracy z formatami plików Office 2007+. Jest kilka sposobów na osiągnięcie celu przy pomocy OpenXML - na przykład za pomocą zakładek lub elementów sterujących treścią. Spójrz na to SO pytanie - How to replace content in template docx document and Open XML SDK 2.0 (Aug 09)? czy ten - How to create *.docx files from a template in C# lub google to (choć nie takie trudne, całe rozwiązanie jest bardziej, że kilka linii kodu i wymaga trochę zrozumienia)

  3. Użyj narzędzi firm trzecich lub kontrole - nie znam ich zbyt dobrze.

3

Możesz utworzyć swój szablon, tworząc dokument Word (w tym logo, nagłówek, stopkę itp.), Umieszczając symbole zastępcze i zachowując je jako dokument "Word 2003 xml".

Następnie można odczytać szablon.XML w postaci pliku tekstowego, zastąpić symbole zastępcze z wartościami, a reakcja cały ciąg jako typu zawartości „application/msword”

zastępczy może być {MY_PLACEHOLDER1}

Przed utworzeniem szablonu, należy wyłączyć (w Słowniku) wszystko związane z Ortografią, ponieważ podświetlenia "złej ortografii" są przechowywane jako część dokumentu xml, a {MY_PLACEHOLDER1} może być przechowywane jako MY_PLACEHOLDER1 (znaki "{" i "}" są przechowywane oddzielnie własne słowo tagi XML)

Pozdrawiam,

Powiązane problemy