Gembox 电子表格添加列而不删除其他列

Gembox Spreadsheet add column without remove the other ones

我正在使用 C# 编码并使用 Gembox 电子表格来操作 excel 文件。 我想知道是否可以在预先存在的 xls 文件中添加一列(而不删除其他列):

ExcelFile ef = ExcelFile.Load(masterFile);
ExcelWorksheet ws = ef.Worksheets["Peer Review"];
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Standard Deviation", typeof(double));
ws.InsertDataTable(dataTable, new InsertDataTableOptions()
            {
                ColumnHeaders = true,
                StartRow = 0,
                StartColumn = 15
            });
ef.Save(masterFile);

按照我提到的方式,我可以在位置“15”插入一个新列,但以同样的方式删除第 15 个旧列。所以我想插入一列而不删除其他列。

InsertDataTable methods 将 DataTable 的数据插入指定的单元格范围,它们不会插入新的 excel 行或列。

所以您可以做的是通过添加空列为所需的插入明确腾出空间,例如:

ws.Columns.InsertEmpty(15, dataTable.Columns.Count);
ws.InsertDataTable(dataTable, new InsertDataTableOptions()
{
    ColumnHeaders = true,
    StartRow = 0,
    StartColumn = 15
});