Попробуйте взять библиотеку Gios WORD .NET Library здесь:
http://www.codeproject.com/KB/string...etlibrary.aspx . Там нужно зарегистрироваться, чтобы скачать, но ресурс хороший и того стоит. Библиотека распространяется по лицензии LGPL. С помощью неё (+ System.Drawing), можно достаточно свободно генерировать Word файлы (RTF). Например, таким образом сгенерировать таблицу:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Gios.Word;
using System.Drawing;
namespace OfficeTest {
class Program {
static void Main(string[] args) {
const int cellFirstName = 0;
const int cellLastName = 1;
var data = new[] {
new { FirstName = "John", LastName = "Smith" },
new { FirstName = "Bob", LastName = "McWood" },
new { FirstName = "Luke", LastName = "Skywalker" }
};
WordDocument doc = new WordDocument(WordDocumentFormat.A4);
using(Font font = new Font("Arial", 11, FontStyle.Regular)) {
doc.SetFont(font);
doc.WriteLine("Here is a table:");
doc.WriteLine();
var table = doc.NewTable(font, Color.Black, data.Length, 2, 4);
table.SetColumnsWidth(new[] { 25, 50 });
table.SetContentAlignment(ContentAlignment.MiddleLeft);
for (int i = 0; i < data.Length; i++) {
var row = data[i];
((WordCell) table.Rows[i].Cells[cellFirstName]).Write(row.FirstName);
((WordCell) table.Rows[i].Cells[cellLastName]).Write(row.LastName);
}
table.SaveToDocument(10000, 0);
doc.SaveToFile(@"E:\Users\Andrew Sklyarevsky\Documents\test.doc");
}
}
}
}
Результат будет такой (при просмотре в Word 2007):