0

私は c# でコーディングしており、Gembox Spreadsheet を使用して 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 に答える