1
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);
디버그 모드에서 코드를 단계별로, 나는 "열 1"로 설정된 속성을 볼 수없는 코드를 통해 모든 방법하지만이 제공 한 값으로 설정됩니다. 나는 이것들이 ColumnName의 디폴트 값이라는 것을 알고있다.
내 질문은 왜 ColumnName에 대한 값을 명시 적으로 설정하고 있는데 Column1, Column2, Column3으로 Excel에서 ColumnNames를 인쇄합니까?
이 링크 및 특히 예제가 문제를 해결합니까? 세 번째 코드를 사용해야하는 것 같습니다 https://msdn.microsoft.com/en-us/library/x81bad6y.aspx – PetLahev
@PetLahev Nope. 그래도 문제가 해결되지 않음 – Cameron