//這裏我試圖刪除從第1列 開始的所有行到35.但是在刪除記錄時,有些記錄被丟棄並且 其不刪除所有行。我無法理解 問題實際在哪裏。這是任務管理器的問題,但是我已經在殺死exe文件。我正在遍歷從第二行到最後一行的所有行,因此,如果記錄不是空的,我將逐個刪除記錄。我想刪除第1列到第35列的excel中的記錄
public static void GetIncidentExcel(string Incident_Path, List<excelObj> ListTickets)
{
lastRow = 0;
MyApp = new Excel.Application();
// MyApp.Visible = false;
MyBook = MyApp.Workbooks.Open(Incident_Path);
MySheet = (Excel.Worksheet)MyBook.Sheets["BOXI_summary"]; // Explict cast is not required here
lastRow = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row;
for (int i = 2; i <= lastRow; i++)
{
Array MyValues = (Array)MySheet.get_Range("A" + i.ToString(), "AI" + i.ToString()).Cells.Value;
if (Convert.ToString(MyValues.GetValue(1, 1)) == "" && Convert.ToString(MyValues.GetValue(1, 2)) == "" && Convert.ToString(MyValues.GetValue(1, 3)) == "" &&
Convert.ToString(MyValues.GetValue(1, 4)) == "" && Convert.ToString(MyValues.GetValue(1, 5)) == "" && Convert.ToString(MyValues.GetValue(1, 6)) == "" &&
Convert.ToString(MyValues.GetValue(1, 7)) == "" && Convert.ToString(MyValues.GetValue(1, 8)) == "" && Convert.ToString(MyValues.GetValue(1, 9)) == "" &&
Convert.ToString(MyValues.GetValue(1, 10)) == "" && Convert.ToString(MyValues.GetValue(1, 11)) == "" && Convert.ToString(MyValues.GetValue(1, 12)) == "" &&
Convert.ToString(MyValues.GetValue(1, 13)) == "" && Convert.ToString(MyValues.GetValue(1, 14)) == "" && Convert.ToString(MyValues.GetValue(1, 15)) == "" &&
Convert.ToString(MyValues.GetValue(1, 16)) == "" && Convert.ToString(MyValues.GetValue(1, 17)) == "" && Convert.ToString(MyValues.GetValue(1, 18)) == "" &&
Convert.ToString(MyValues.GetValue(1, 19)) == "" && Convert.ToString(MyValues.GetValue(1, 20)) == "" && Convert.ToString(MyValues.GetValue(1, 21)) == "" &&
Convert.ToString(MyValues.GetValue(1, 22)) == "" && Convert.ToString(MyValues.GetValue(1, 23)) == "")
break;
else
{
Excel.Range cells = MySheet.get_Range("A" + i.ToString(), "AI" + i.ToString());
cells.Delete();
}
}
嘗試向後運行循環。 –
你是誰? :O – Kritner
我試過向後循環,不工作。有些記錄沒有刪除。 – Dilip