0

我正在用 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 个旧列。所以我想插入一列而不删除其他列。

4

1 回答 1

2

InsertDataTable 方法将 DataTable 的数据插入指定的单元格区域,它们不会插入新的 Excel 行或列。

因此,您可以做的是通过添加空列显式地为所需的插入腾出空间,例如:

ws.Columns.InsertEmpty(15, dataTable.Columns.Count);
ws.InsertDataTable(dataTable, new InsertDataTableOptions()
{
    ColumnHeaders = true,
    StartRow = 0,
    StartColumn = 15
});
于 2016-02-17T07:42:50.630 回答