2012-11-07 47 views
6

Tôi đang cố gắng tạo tài liệu Word qua C#. Tôi muốn có thể chèn một ngắt trang tại một điểm nhất định trong mã của tôi, tuy nhiên tôi không chắc chắn về cách thực hiện việc này. Tôi chủ yếu sử dụng StringBuilder để tạo html. Điều này đang được thực hiện trong Visual studio 2010 với C#. Tôi đã xem xét một số hướng dẫn nhưng hầu hết trong số họ sử dụng mã như "biến Word". Vì vậy, tôi không chắc chắn nếu "Word" đến từ một thư viện được tải xuống thêm hoặc những gì không.Cách chèn ngắt trang khi tạo tài liệu MS Word

+2

có khả năng nhất biến Word là vì đã thêm một tham chiếu vào Thư viện Microsoft Word sau đó được sử dụng bằng Word = Microsoft.Office.interop.Word; – Sorceri

Trả lời

12

Dưới đây là ví dụ về cách viết một số văn bản vào tài liệu từ rồi thêm ngắt trang. Sau đó viết phần còn lại vào văn bản cho tài liệu. Để có được câu trả lời tốt hơn, bạn có thể cần viết lại câu hỏi của mình vì không rõ khi nào bạn muốn chèn thời gian nghỉ và cách bạn viết thông tin vào tài liệu. Tôi giả sử rất nhiều điều không bao giờ tốt.

using Word = Microsoft.Office.interop.Word; 

//create a word app 
Word._Application wordApp = new Word.Application(); 
//add a page 
Word.Document doc = wordApp.Documents.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value); 
//show word 
wordApp.Visible = true; 
//write some tex 
doc.Content.Text = "This is some content for the word document.\nI am going to want to place a page break HERE "; 
//inster a page break after the last word 
doc.Words.Last.InsertBreak(Word.WdBreakType.wdPageBreak); 
//add some more text 
doc.Content.Text += "This line should be on the next page."; 
//clean up 
Marshal.FinalReleaseComObject(wordApp); 
Marshal.FinalReleaseComObject(doc); 
GC.Collect(); 
GC.WaitForPendingFinalizers(); 
GC.Collect(); 
+0

Tôi đang tạo tất cả nội dung và thêm nó vào một StringBuilder. Sau đó, tôi viết StringBuilder vào một StreamWriter. Khi vòng lặp while kết thúc lần lặp đầu tiên của dữ liệu, tôi muốn chèn ngắt trang. Vì vậy, tất cả nội dung của mỗi lần lặp lại đều là trang riêng của nó. – john

5

Nếu vị trí bạn muốn chèn ngắt trang được chọn (bằng cách Word.Selection):

Cách đơn giản nhất là để chèn có đoạn mã sau:

selection.TypeText("\f"); 
+0

thực sự hiệu quả khi tôi tập trung vào việc xuất văn bản theo dòng –

Các vấn đề liên quan