Я экспортирую свои данные из DGV и выравниваю их по разделителю пробелов, и это работает хорошо для меня.я также экспортирую заголовки перед значениями ячеек.то, что я хочу сделать, но не могу, это выровнять и настроить ячейки с заголовками, чтобы увидеть их как таблицу, в которой ее члены разделены разделителем (здесь пробел).я хочу видеть значения ячеек прямо под заголовками (если они имеют меньшую или равную длину), а текст заголовков - прямо над значениями ячеек, если длина заголовка меньше длины значений ячеек), другими словами, Keepingзначения ячеек и связанные с ними заголовки вместе.заранее спасибо.
Что я уже пробовал:
int RowsCount = DataTable.Rows.Count;
int ColumnsCount = DataTable.Columns.Count;
var newline = System.Environment.NewLine;
var delimiter = " ";
var copied= new StringBuilder();
List<int> clmnLocation = new List<int>() {};
string header = "";
for (int c = 0; c < DataTable.Columns.Count; c++)
{
header = header + Convert.ToString(DataTable.Columns[c].ColumnName).Replace(" ", "") + delimiter;
//Count header length to get the padright() value and put in a list<int>
clmnLocation.Add(header.Length);
}
// Export titles:
for (int c = 0; c < DataTable.Columns.Count; c++) copied.Append(Convert.ToString(DataTable.Columns[c].ColumnName).Replace(" ","") + delimiter);
//Append A Line After Header.
clipboard_string.Append(newline);
//Cells
for (int i = 0; i <RowsCount; i++)
{
for (int j = 0; j <ColumnsCount; j++)
{
if (j > 0)
copied.Append(DataTable.Rows[i][j].ToString().PadRight(clmnLocation[j]) + delimiter);
else
copied.Append(DataTable.Rows[i][j].ToString() + delimiter);
}
copied.Append(newline);
}
WordDoc.Content.Text = copied.ToString();