VSTO を使用してデータベースからデータを取得し、ワークシートに表示しています
ユーザーがボタンを押すと、ワークシートにデータが入力されます
問題は、データがワークシートに書き込まれると、列ヘッダーが自動的に含まれることです。この列ヘッダーは必要ありません
最初に設定ListObject.ShowHeaders = false;
しましたが、空のセルが含まれています。空のセルは必要ありません。
これが私が宣言する方法ですListObject
private void CreateListObject()
{
worksheet = (Excel.Worksheet)this.Application.ActiveWorkbook.Worksheets[1];
Worksheet extendedWorksheet = Globals.Factory.GetVstoObject(worksheet);
Excel.Range cell = extendedWorksheet.Range["C12", "C16"];//Obtain a range
this.listObject = extendedWorksheet.Controls.AddListObject(cell, "Data");//Add to ListObject
this.listObject.AutoSetDataBoundColumnHeaders = false;
this.listObject.ShowAutoFilter = false;
this.listObject.ShowHeaders = false; //I thought this was enough
this.listObject.ShowTableStyleRowStripes = false;
}
これは私がデータを入力する方法です
internal void DisplayData()
{
try
{
using (MyDbContext db = new MyDbContext ())
{
List<Thing> things= db.Things.ToList();
CreateListObject();
string[] mappedColumns = { "serialNumber" };
this.listObject.SetDataBinding(things, string.Empty, mappedColumns);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
ただし、データが表示されると、空のセルが含まれます。
その列ヘッダーを完全に回避するにはどうすればよいですか?