我们如何将数据表绘制为从 c# 到 MicrosoftWord 的表?
我已经输入了我需要的样本图像,合作销售,分支 1 和分支是数据表
请为此提供一个合适的答案
private void ExportToWord(DataSet Collection)
{
object oMissing = System.Reflection.Missing.Value;
object oEndOfDoc = "\\endofdoc";
Microsoft.Office.Interop.Word._Application objWord;
Microsoft.Office.Interop.Word._Document objDoc;
objWord = new Microsoft.Office.Interop.Word.Application();
objWord.Visible = true;
objDoc = objWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
int i = 0;
int j = 0;
Microsoft.Office.Interop.Word.Table objTable;
Microsoft.Office.Interop.Word.Range wrdRng = objDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
string strText;
int tables = Collection.Tables.Count;
for (int k = 0; k < tables; k++)
{
int columns = Collection.Tables[k].Columns.Count;
int rows = Collection.Tables[k].Rows.Count;
string[] columnNames = Collection.Tables[k].Columns.Cast<DataColumn>()
.Select(x => x.ColumnName)
.ToArray();
Microsoft.Office.Interop.Word.Table objNewTable;
objNewTable = objDoc.Tables.Add(wrdRng, rows, columns, ref oMissing, ref oMissing);
objNewTable.Range.ParagraphFormat.SpaceAfter = 8;
objNewTable.Rows[1].Range.Font.Name = "Times New Roman";
objNewTable.Rows[1].Range.Font.Bold = 1;
objNewTable.Rows[1].Range.Font.Italic = 1;
objNewTable.Rows[1].Range.Font.Size = 9;
for (int l = 0; l < columnNames.Count(); l++)
{
objNewTable.Cell(1, l).Range.Text = columnNames[l];//"Item Name";
//objNewTable.Cell(1, 2).Range.Text = "Price";
}
try
{
// objTable.Borders.Shadow = true;
objNewTable.Borders.Shadow = true;
}
catch
{
}
}
}