Excel.interop.object ライブラリ 9.0 を使用して、C# で xls ファイルを操作しています
5枚のシートを持つxlsがあるとします。いくつかの行を持つすべてのシート。
次のコードを使用して、xls の各シートから上位 2 行を削除しています
Excel.Application excelApp = new Excel.Application();
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(mstrFilePath, 1, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, null, false);
try
{
Excel.Sheets excelWorkSheet = excelWorkbook.Sheets;
foreach (Excel.Worksheet work in excelWorkSheet)
{
Excel.Range range = work.get_Range("A1", "A3");
Excel.Range entireRow = range.EntireRow; // update
for (int i = 1; i <= 3; i++)
{
entireRow.Delete(Excel.XlDirection.xlUp);
}
}
//excelWorkbook.Close(false, mstrFilePath, null);
}
catch (Exception ex)
{
}
finally
{
excelApp.Quit();
}
しかし、シート 3 から 2 行を削除し、他のシートから行を削除しないという動作は正しくありません。
ここで何がうまくいかなかったのですか?