0

助けてください。私は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");
}
4

2 に答える 2

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"]);
于 2015-03-30T08:58:37.597 に答える
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");
于 2013-03-15T07:56:53.950 に答える