Я очень новичок в C #, и я надеялся, что вы можете мне немного помочьВ настоящее время я работаю над надстройкой Excel-VSTO, которая читает файл sqlite3-database.Результаты запросов хранятся в массивах.Я записываю эти массивы в указанные ячейки Excel.
Пока все хорошо - теперь я хочу создать listObject из этого диапазона.Я застрял с моим методом:
private void build_table4(string StartCol, int StartRow, string EndCol, int RowsCount, int ColCount, Boolean show_totals, string TableStyle, string TableName, int IncludeRowsBefore)
{
string StartCell = StartCol + Convert.ToString(StartRow - IncludeRowsBefore);
string EndCell = EndCol + Convert.ToString(StartRow + RowsCount);
Microsoft.Office.Interop.Excel.Workbook xlWb = Globals.ThisAddIn.Application.ActiveWorkbook;
Microsoft.Office.Interop.Excel.Worksheet xlWorksheet = xlWb.Sheets[1];
//Excel.Range tableRange = (Excel.Range)xlWorksheet.Range[xlWorksheet.Cells[StartCellY, StartCellX], xlWorksheet.Cells[ToCellY, ToCellX]];
Excel.Range tableRange = (Excel.Range)xlWorksheet.Range[StartCell, EndCell];
Excel.ListObject list = xlWorksheet.ListObjects.Add(Excel.XlListObjectSourceType.xlSrcRange, tableRange,
Type.Missing, Excel.XlYesNoGuess.xlYes, Type.Missing);
//list.Name = "Table";
list.Name = TableName;
//list.TableStyle = "TableStyleMedium2";
list.TableStyle = TableStyle;
//list.ShowTotals = show_totals;
//xlWorksheet.Rows.AutoFit();
//xlWorksheet.Columns.AutoFit();
Excel.ListRow row = list.ListRows.AddEx(Type.Missing, Type.Missing);
//MessageBox.Show("StartCellX:" + StartCellX + ", StartCellY:" + StartCellY + ", RowsCount:" + RowsCount + ", ColCount:" + ColCount + ", ToCellX:" + ToCellX + ", ToCellY:" + ToCellY);
}
Когда я называю это так:
private void button1_Click(object sender, RibbonControlEventArgs e)
{
build_table4("B", 3, "H", 15, 7, false, "", "Daten", 0);
}
Я много пробовал, но пока не нашел решения.Он всегда добавляет две дополнительные строки, которые я не ожидал, и я не мог понять, почему:
До и после
Я надеюсь, у вас есть несколько советов для меня.Заранее спасибо.Извините за мой плохой английский: x