我想從我的表單(使用C#)寫入Excel電子表格並刪除某些行(如果空白)。C#和excel刪除行
我可以完美地寫入一個speadsheet並保存它,但可以說用戶輸入數據到行a1,a2,a3和a4,現在我想刪除a4和a29之間的所有行。
我只需要找出如何刪除一定範圍的單元格。
謝謝
我想從我的表單(使用C#)寫入Excel電子表格並刪除某些行(如果空白)。C#和excel刪除行
我可以完美地寫入一個speadsheet並保存它,但可以說用戶輸入數據到行a1,a2,a3和a4,現在我想刪除a4和a29之間的所有行。
我只需要找出如何刪除一定範圍的單元格。
謝謝
你可以使用Range對象來做到這一點。我在這裏假設你正在使用Excel互操作。
讓說,你有你的書打開,然後再設定的範圍內將其刪除 它應該是這個樣子
ApplicationClass excel = new ApplicationClass();
//Abrir libro y seleccionar la hoja adecuada aqui
//...
Microsoft.Office.Interop.Excel.Range cel = (Range)excel.Cells[rowIndex, columnIndex];
cel.Delete();
您可以使用此。它的工作...
_Application docExcel = new Microsoft.Office.Interop.Excel.Application { Visible = false };
dynamic workbooksExcel = docExcel.Workbooks.Open(@"C:\Users\mahmut.efe\Desktop\Book4.xlsx");
var worksheetExcel = (_Worksheet)workbooksExcel.ActiveSheet;
((Range)worksheetExcel.Rows[2, Missing.Value]).Delete(XlDeleteShiftDirection.xlShiftUp);
workbooksExcel.Save();
workbooksExcel.Close(false);
docExcel.Application.Quit();
欲瞭解更多信息,您可以訪問this網站
引用的網站不包含任何內容。您的答案確切無誤,但是,上面列出的指定範圍成員的答案更清晰。 MSDN提供了很好的文檔。 https://msdn.microsoft.com/en-us/library/Microsoft.Office.Interop.Excel.Range_methods(v=office.14).aspx –
您可以指定單元格(如A1),查找包含該小區的範圍內,整個行,然後可以刪除該行。
excel.Worksheet sheet =(excel.Worksheet)excelWorkBook.Sheets [「sheet1」];
excel.Range cells =(excel.Range)sheet.Range [「A1」,Type.Missing];
excel.Range del = cells.EntireRow;
del.Delete();
上面給出的代碼將刪除第一行從工作表Sheet1
// Here is the answers to
// 1. Delete entire row - Below rows will shift up
// 2. Delete few cells - Below cells will shift up
// 3. Clear few cells - No shifting
using Excel = Microsoft.Office.Interop.Excel;
Excel.Application ExcelApp = new Excel.Application();
Excel.Workbook ExcelWorkbook = ExcelApp.Workbooks.Open(ResultFilePath);
ExcelApp.Visible = true;
Excel.Worksheet ExcelWorksheet = ExcelWorkbook.Sheets[1];
Excel.Range TempRange = ExcelWorksheet.get_Range("H11", "J15");
// 1. To Delete Entire Row - below rows will shift up
TempRange.EntireRow.Delete(Type.Missing);
// 2. To Delete Cells - Below cells will shift up
TempRange.Cells.Delete(Type.Missing);
// 3. To clear Cells - No shifting
TempRange.Cells.Clear();
我看你做了什麼沒有。 – TheNoob
我總是收到一個類型不匹配異常,指向 Microsoft.Office.Interop.Excel.Range cel =(Range)excel.Cells [rowIndex,columnIndex]; – TheNoob
在這種情況下,您的工作表或工作簿是「excel」嗎? – TheNoob