我覺得這個代碼應該爲你工作:
const string magicWord = "HelloUser";
Excel.Application app = new Excel.Application();
Excel.Workbook workbook = app.Workbooks.Open(@"myWorkbook.xlsx");
Excel.Worksheet worksheet = workbook.Sheets[1]; //Excel has no zero based index!!!
int magicWordRowIndex = Int32.MaxValue;
//Here we find your magic word. But we can't delete the rows here, so just save the index
for (int row = 1; row <= worksheet.Rows.Count; row++)
{
for (int column = 1; column <= worksheet.Columns.Count; column++)
{
if (worksheet.Rows[row][column] == magicWord)
{
magicWordRowIndex = row;
break;
}
}
}
//Now we run reversed, because else our magicWordRowIndex become invalid if we delete rows
for (int row = worksheet.Rows.Count; row >= magicWordRowIndex; row--)
{
((Excel.Range) worksheet.Rows[row, Missing.Value]).Delete(Excel.XlDeleteShiftDirection.xlShiftUp);
}
Actualy我無法測試,但應該做的工作,也許你需要細微的變化,並滿足您的需求。
首先它會找到你的開始硬編碼的魔語。找到這個單詞後,我們將刪除從底部到現有單詞的所有行。
請注意,您需要引用:的Microsoft.Office.Interop.Excel
使用Excel.Interop班,運行在每一個細胞,然後搜索你的話,刪除所有行這一行+線後本身。 – Sebi
感謝sebi,但我正在尋找通過C#的自動化過程,因爲會有多個文件來做它,我可以使用C#或VB – user3895001
您的問題不清楚。你需要幫助迭代目錄中的文件嗎?在Excel或支持這些文件的庫中打開Excel文件?比較字符串?請閱讀[問],[編輯]你的問題,要求回答問題並分享你的研究。 – CodeCaster