Я новичок в VSTO и сталкиваюсь с проблемой, которую я не могу понять. Я пытаюсь отобразить простую таблицу в Excel 2013, и все заполняется, за исключением столбцов, отображаемых именами, «Column1, Column2, Column3».DataTable DataColumn ColumnName не отображается
Вот мой код:
var worksheet = Globals.Sheet1;
worksheet.Cells.Clear();
var table = new DataTable("Users");
// Set Columns
var columns = new List<DataColumn>
{
new DataColumn("Staged") { ColumnName = "Staged", Caption = "Staged"},
new DataColumn("FirstName") { ColumnName = "First Name", Caption = "First Name" },
new DataColumn("LastName") { ColumnName = "Last Name", Caption = "Last Name"}
};
foreach (var column in columns)
{
table.Columns.Add(column);
}
var lastFilledRow = 1;
// Populate data
for (var i = 1; i < 11; i++)
{
var row = table.NewRow();
row[table.Columns[0]] = "";
row[table.Columns[1]] = "Joesph " + i;
row[table.Columns[2]] = "Bellow " + i;
table.Rows.Add(row);
lastFilledRow++;
}
var lastCell = "C" + lastFilledRow;
worksheet.Controls.Remove("userList");
var list = worksheet.Controls.AddListObject(worksheet.Range["A1", lastCell], "userList");
list.SetDataBinding(table);
Stepping через код в режиме отладки, весь путь через код, который я не могу видеть все атрибуты, установленные в «COLUMN1», но они установлены на значения предоставленных. Я знаю, что это значения по умолчанию для ColumnName.
Мой вопрос: Почему ColumnNames печатаются в excel как Column1, Column2, Column3, когда я явно устанавливаю значения для ColumnName?
Эта ссылка, и особенно пример, решает вашу проблему? Похоже, вам нужно использовать третий ctor https://msdn.microsoft.com/en-us/library/x81bad6y.aspx – PetLahev
@PetLahev Nope. Все еще не решает проблему – Cameron