반응형
C# 및 Excel 행 삭제
양식(C#)에서 엑셀 스프레드시트로 작성하고 공백인 경우 특정 행을 삭제하고 싶습니다.
나는 스프레드시트에 완벽하게 잘 쓰고 저장할 수 있지만, 사용자가 a1, a2, a3, a4 행에 데이터를 입력했다고 가정하면, 이제 a4와 a29 사이의 모든 행을 삭제하려고 합니다.
제가 필요한 것은 특정 범위의 세포를 삭제하는 방법을 찾는 것입니다.
감사해요.
// 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();
이거 쓰셔도 돼요.전 일을 못 해요...
_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();
자세한 내용은 이 웹 사이트를 방문하십시오.
범위 개체를 사용하여 이 작업을 수행할 수 있습니다.여기서는 당신이 엑셀 interop을 사용하고 있다고 가정합니다.
책을 연 다음 범위를 설정하고 삭제합니다. 이렇게 보여야 합니다.
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();
셀을 지정할 수 있습니다(예: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();
위의 지정된 코드는 시트 1에서 첫 번째 행을 삭제합니다.
행을 제거하려면 다음과 같이 간단한 코드 행만 있으면 됩니다.
xlWorkSheet.Rows[NUMBER_ROW].Delete();
Microsoft.office를 사용합니다.interop.sys 워크시트 범위를 사용하여 행 삭제
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(srcFile);
Excel.Worksheet workSheet = xlWorkbook.Sheets[1];
Excel.Range range = workSheet.Rows[2];
range.Delete();
xlWorkbook.SaveAs(dstFile);
xlWorkbook.Close();
xlApp.Quit();
언급URL : https://stackoverflow.com/questions/12255166/c-sharp-and-excel-deleting-rows
반응형
'programing' 카테고리의 다른 글
ValueError: 지원되지 않는 피클 프로토콜: 3, python2 피클은 python3 피클이 덤프한 파일을 로드할 수 없습니까? (0) | 2023.06.30 |
---|---|
마스터 페이지 이상함 - "내용 컨트롤은 마스터 페이지를 참조하는 내용 페이지 또는 중첩된 마스터 페이지의 최상위 컨트롤이어야 합니다." (0) | 2023.06.30 |
Angular | 데코레이터에 서비스를 주입 (0) | 2023.06.30 |
속성 파일의 Spring boot 외부 구성 (0) | 2023.06.25 |
보조 확인 방법이 지금 동기화되었는지 여부 (0) | 2023.06.25 |