0

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
       {
       } 
  }            

}

この上記のコードにより、次の画像が得られます ここに画像の説明を入力

4

1 に答える 1