C\#조작 엑셀 관련 방법 총화

6181 단어 C#Excel
0.네 임 스페이스 가 져 오기:

using Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel;
using System.IO;
using System.Reflection;
1.기 존 엑셀 문 서 를 열거 나 새로운 엑셀 문 서 를 만 드 는 방법

Application app = new Application();
Workbooks wbks = app.Workbooks;
_Workbook _wbk = wbks.Add(xxx);
이미 있 는 엑셀 을 열 면"xxx"를 이 엑셀 의 파일 경로 로 바 꿉 니 다.
주:excel 문 서 를 새로 만 들 면"xxx"를 true 로 바 꾸 면 됩 니 다.하지만 새로 만 든 엑셀 문 서 는 기본적으로 sheet 이 하나 밖 에 없습니다.
2.sheet 가 져 오기,삭제,추가

Sheets shs = _wbk.Sheets;
2.1 획득:

//i     sheet index
_Worksheet _wsh = (_Worksheet)shs.get_Item(i)
2.2 삭제:

//  sheet     
app.DisplayAlerts = false;
_wsh.Delete();
2.3 추가:

//a(before),b(after):      ;c:  ;d:  
app.Worksheets.Add(a,b,c,d);
2.4 sheet 의 이름 바 꾸 기

_wsh.Name = "xxx";
3.줄 과 열 삭제
3.1 줄 삭제:

((Range)_wsh.Rows[3, Missing.Value]).Delete(XlDeleteShiftDirection.xlShiftUp);
3.2 열 삭제:

_wsh.get_Range(
_wsh.Cells[1, 2], 
_wsh.Cells[_wsh.Rows.Count, 2]).Delete(XlDeleteShiftDirection.xlShiftToLeft
);
4.줄 과 열 추가
4.1 줄 추가:

((Range)_wsh.Rows[11, Missing.Value])
.Insert(Missing.Value, XlInsertFormatOrigin.xlFormatFromLeftOrAbove);
4.2 열 추가:

_wsh.get_Range(
_wsh.Cells[1, 1], _wsh.Cells[_wsh.Rows.Count, 1])
.Insert(Missing.Value, XlInsertShiftDirection.xlShiftToRight);
5.셀 조작
5.1 셀 획득

//       
_wsh.Cells[row, cell]
5.2 공식 설정

//             
_wsh.Cells[row, cell] = "=Sum(A1/B1)";
5.3 병합 셀

((Range)_wsh.Rows[1, Missing.Value]).Merge(Missing.Value);
5.4 줄 높이 와 너비 설정

((Range)_wsh.Rows[3, Missing.Value]).RowHeight = 5;
((Range)_wsh.Rows[3, Missing.Value]).ColumnWidth = 5;
5.5 셀 색상 색상 설정 은 모두 56 중 입 니 다.자세 한 내용 은 부록 의[색상 대조 표]를 참조 하 십시오.

((Range)_wsh.Rows[1, Missing.Value]).Interior.ColorIndex = 3;
5.6 글자 번호 설정

((Range)_wsh.Cells[1, "B"]).Font.Size = 8;
5.7 굵기 설정 여부

((Range)_wsh.Rows[1, Missing.Value]).Font.Bold = false;
5.8 셀/영역,수평 수직 가운데

((Range)_wsh.Rows[1, Missing.Value]).Font.Bold = false;
5.9 영역 테두리 설정

((Range)_wsh.Cells[3, 3]).Borders.LineStyle = 3;
5.10 테두리 의 위,아래,왼쪽,오른쪽 선 설정

// 
_wsh.get_Range(
_wsh.Cells[2, 1], _wsh.Cells[2, 2])
.Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick;//
 
// 
_wsh.get_Range(
_wsh.Cells[2, 1], _wsh.Cells[2, 2])
.Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick;//
 
// 
_wsh.get_Range(
_wsh.Cells[2, 1], _wsh.Cells[2, 2])
.Borders[XlBordersIndex.xlEdgeTop].Weight = XlBorderWeight.xlThick;// 
 
// 
_wsh.get_Range(
_wsh.Cells[2, 1], _wsh.Cells[2, 2])
.Borders[XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlThick;
6.지정 영역 복사

_Worksheet _wsh = (_Worksheet)shs.get_Item(1);//         
 
Range range = _wsh.get_Range(_wsh.Cells[7, 1], _wsh.Cells[10, _wsh.Columns.Count]);
 
range.Select();
range.Copy(Type.Missing);
 
//         
Range test = ((Range)_wsh.Cells[11, 1]);
test.Select();
 
//   Alert,      
app.DisplayAlerts = false;
test.Parse(Missing.Value, Missing.Value);
주:Type.Missing 과 Missing.Value 는 엑셀 작업 에서 일부 매개 변수의 기본 값 으로 여 겨 집 니 다.그들 이 하 는 역할 은 형식 보충 매개 변수 일 때 가 많 습 니 다.
7.excel 파일 의 저장 및 후속 처리
7.1 파일 저장

//        Alert
app.AlertBeforeOverwriting = false;
 
//       
SaveAs(filePath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
주:이 곳 은 이 방법 으로 만 저장 할 수 있 습 니 다.그렇지 않 으 면 지정 한 경로 에서 파일 을 저장 하 는 것 외 에 제 문서 에 도 해당 하 는 복사 본 이 생 성 됩 니 다.
7.2 후속 처리:탈퇴 와 석방

//_wbk.Close(null, null, null);
//wbks.Close();
app.Quit();
 
//      excel  
System.Runtime.InteropServices.Marshal.ReleaseComObject(app); 
app = null;
설명:애플 리 케 이 션 이 닫 히 는 과정 에서 보통 두 가지 방안 이 있 습 니 다.
\#앱 에서 바로 종료
\#워 크 북 을 닫 고 워 크 북 스 를 닫 은 다음 app 을 종료 합 니 다.
이 두 가지 방식 을 감안 하면 본질 적 으로 똑 같 을 수도 있 습 니 다.그러나 우리 소프트웨어 개발 의 원칙 에 따라 어디 에 성명 이 필요 하고 어디 에 끝 나 는 곳 에 회수 가 필요 합 니까?
앱 을 직접 종료 할 때 워 크 북 과 워 크 북 스 가 구체 적 으로 언제 닫 히 는 지 잘 모 르 겠 습 니 다.끝 날 때 직접 수 동 으로 닫 으 면 자원 의 빠 른 직접 회수 가 가능 합 니 다.
따라서 워 크 북 을 먼저 닫 은 다음 워 크 북 스 를 닫 고 마지막 으로 앱 을 종료 하 는 것 을 권장 합 니 다.
8.셀 설정 필드 와 도 메 인 에 필요 한 데이터 획득
8.1 셀 이 드 롭 다운 상자 로 설정 되 어 있 으 면

//   “1,2,3”          
((Range)_wsh.Cells[2, 1])
.Validation.Modify(XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertStop, Type.Missing, "1,2,3", Type.Missing);
8.2 셀 이 드 롭 다운 상자 로 설정 되 지 않 은 경우

((Range)_wsh.Cells[2, 1])
.Validation.Add(XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertStop, Type.Missing,"1,2,3", Type.Missing);
8.3 드 롭 다운 상자 필드 의 값 가 져 오기

string strValue = ((Range)_wsh.Cells[2, 1]).Validation.Formula1;
주:엑셀 템 플 릿 에서 드 롭 다운 상자 의 값 을 유효성 으로 설정 하면 strValue 는 엑셀 의 공식 이 될 것 입 니 다.이 를 변환 하고 strValue 를 얻 으 면 색인 에 따라 필요 한 수 치 를 얻 을 수 있 습 니 다.
9.줄 과 열 숨 기기
9.1 숨겨 진 줄

_wsh.get_Range(_wsh.Cells[19, 1], _wsh.Cells[22, 1]).EntireRow.Hidden = true;
9.2 숨겨 진 열

_wsh.get_Range(_wsh.Cells[1, 1], _wsh.Cells[_wsh.Rows.Count, 1])
.EntireColumn.Hidden = true;
C\#엑셀 조작 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C\#엑셀 조작 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기