如何使用gembox电子表格在excel上复制和插入特定行

时间:2013-03-01 11:36:36

标签: excel insert copy row spreadsheet

请帮忙。我使用gembox.spreadsheet库在excel文件中插入和复制2张内的特定行。 但是无效论证仍然存在问题。

public void InsertCopyData()
    {
        SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
        ExcelFile ef = new ExcelFile();

        // Loads Excel file.
        ef.LoadXls(@"C:\templateExcel\DataTable.xls");

        // Selects first and 2nd worksheet.
        ExcelWorksheet w1 = ef.Worksheets[0];
        ExcelWorksheet w2 = ef.Worksheets[1];

        //insert copy file  
        w1.InsertCopy(w1.Rows["A1"], w2.Rows["A4"]);


        //Saves the file in XLS format.
        ef.SaveXls(@"C:\templateExcel\Insert DataTable.xls");

    }

2 个答案:

答案 0 :(得分:1)

你不能这样使用:ef.LoadXls(@"C:\templateExcel\DataTable.xls");

您应该编写加载现有的Excel文件。

GemBox.Spreadsheet.ExcelFile ef = new GemBox.Spreadsheet.ExcelFile();
ef = GemBox.Spreadsheet.**ExcelFile.Load**("D:\\Example.xlsx");
ExcelWorksheet ws = ef.Worksheets["Sheet1"];  (or)   ExcelWorksheet ws = ef.Worksheets[0]; 
// writing data to excel file code...
ws.Cells[0, 0].Value = example_1;
ws.Cells[1, 0].Value = example_2;
ef.Save("D:\\Example.xlsx");

答案 1 :(得分:1)

请注意,GemBox.Spreadsheet可以让您插入工作表,行和/或列。 使用无效参数的API用于插入工作表副本,为了插入行副本,请使用以下内容:

// Inserts specified number of copied rows before the current row.
var currentRow = w1.Rows["A1"];
currentRow.InsertCopy(1, w2.Rows["A4"]);