سؤال

لدي DataTable مع 3 أعمدة (أ ، ب ، ج) و الملف docx مع المقابلة MailMerge مجالات إعداد.ما أود القيام به هو تنفيذ دمج المراسلات على الوثيقة مع البيانات.

أفترض أنه يمكنك الكتابة إلى القرص الثابت (إذا كنت تحتاج إلى إنشاء ملف csv الخ لعمل دمج الخ) ، لا قد word, excel وغيرها ، XML المفتوحة SDK هو مثبتا ، ولكن أيضا يمكننا تثبيت أي شيء آخر.

حيث الجواب تحويل البيانات المدخلة إلى كل ما هو مطلوب ليس حقا مشكلة, المشكلة هي كيف إلى تنفيذ دمج المراسلات في XML المفتوحة SDK (أو الحرة الأخرى API).

كملاحظة جانبية, يجب أن يكون الإخراج ملف واحد مع صفحات n (حيث n هو عدد الصفوف في البيانات) ، أيلا ن الوثائق (على الرغم من أنني لا أمانع إذا كان دمج الوثائق يتم في النهاية).

(وأود أن أضيف أنني لست مرتبطة MailMerge مفهوم ، أن تكون قادرة على مجرد القيام محل على سبيل المثال أن العمل - وإن كان من الواضح أن ذلك يتطلب دمج الملفات معا في النهاية...)

هل كانت مفيدة؟

المحلول

لقد حصلت على هذا العمل في حد فظيع الطريقة - في الأساس - في هذه اللحظة ، خوارزمية يلي هذا:

  1. بفك الملف docx
  2. قراءة في document.xml (سلسلة)
  3. السلسلة.استبدال الحقول
  4. Rezip المؤقتة docx
  5. دمج جميع الوثائق المؤقتة التي تم إنشاؤها

رمز الفعلي دمج الوثائق يأتي من إريك الأبيض بلوق : http://blogs.msdn.com/ericwhite/archive/2009/02/05/move-insert-delete-paragraphs-in-word-processing-documents-using-the-open-xml-sdk.aspx

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top