代码如下:
引用 Microsoft Word 11.0 Object Library
public bool ExportWord( DataTable Table )
{
object Missing = System.Reflection.Missing.Value;
int NumRows, NumColumns, rowIndex, colIndex;
object FileName = Word文件名; //如:c:\tets.doc
Word.ApplicationClass wordApp = new Word.ApplicationClass();
Word.Document myDoc = null;
Word.Table oTable;
rowIndex = 1;
colIndex = 0;
try
{
wordApp.Documents.Add(ref Missing,ref Missing,ref Missing, ref Missing);
myDoc = wordApp.ActiveDocument;
oTable = myDoc.Tables.Add(myDoc.Range(ref Missing, ref Missing),NumRows=Table.Rows.Count + 1, NumColumns=Table.Columns.Count,ref Missing,ref Missing);
foreach(DataColumn Col in Table.Columns)
{
colIndex = colIndex + 1;
oTable.Cell(1, colIndex).Range.InsertAfter(Col.ColumnName);
}
foreach(DataRow Row in Table.Rows)
{
rowIndex = rowIndex + 1;
colIndex = 0;
foreach(DataColumn Col in Table.Columns)
{
colIndex = colIndex + 1;
oTable.Cell(rowIndex, colIndex).Range.InsertAfter(Row[Col.ColumnName].ToString());
}
}
oTable.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleDashDot;
oTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleDot;
wordApp.Visible = false;
myDoc.SaveAs2000(ref FileName,ref Missing,ref Missing,ref Missing,ref Missing,ref Missing,ref Missing,ref Missing,ref Missing,ref Missing,ref Missing );
return true;
}
catch
{
return false;
}
finally
{
myDoc.Close( ref Missing,ref Missing,ref Missing );
System.Runtime.InteropServices.Marshal.ReleaseComObject( myDoc );
myDoc = null;
GC.Collect();
wordApp.Quit( ref Missing,ref Missing, ref Missing );
System.Runtime.InteropServices.Marshal.ReleaseComObject( wordApp );
wordApp = null;
GC.Collect();
}