특정 인덱스의 Cell의 Value값을 하나하나 가져오면 속도가 굉장히 느립니다.

 

범위를 선택하고 범위에 해당하는 값들을 한번에 가져와야 속도가 빠릅니다.

 

Worksheet 클래스의 UsedRange(MSDN링크) 속성을 이용해 값을 가져오면 상단의 사용하지 않았던 범위는 놓쳐서

 

특정 인덱스에 접근하기 힘듭니다.

 

왼쪽 상단의 Cell부터 사용한 우측 하단의 Cell까지의 범위의 데이터를 가져와서 작업을 진행해야합니다.

 

 

 

/// <summary>

/// 해당 WorkSheet의 전체 데이터를 가져온다.

/// </summary>

/// <param name="sheet"></param>

/// <returns></returns>

private object[,] GetTotalValue(Worksheet sheet)

{

    //사용중인 범위(한번도 사용하지 않은 범위는 포함되지 않음)

    Range usedRange = sheet.UsedRange;

    //마지막 Cell

    Range lastCell = usedRange.SpecialCells(XlCellType.xlCellTypeLastCell);

           

    //전체 범위 (왼쪽 상단의 Cell부터 사용한 맨마지막 범위까지)

    Range totalRange = sheet.get_Range(sheet.get_Range("A1"), lastCell);

 

    return (object[,])totalRange.get_Value();

} 

 

VisualStudio에서 현재 프로젝트에서 사용하지 않는 라이브러리를 제거하는 기능이 필요하여 검색하였습니다.

 

현재까지는 VS2012까지 지원하는 오픈소스가 있었습니다. (Lardite Reference Assistant 바로가기)

 

 

 

 

 

 

현재 프로젝트는 VS2013을 사용 중이기 때문에 몇가지 조취를 취하면 사용 가능하였습니다.

 

1. VS2012 확장파일을 다운로드 받습니다.

2. Lardite.RefAssistant.11.0.vxix 파일의 확장자를 *.ZIP 으로 변경합니다.

3. 압축을 풀어서 extension.vsixmanifest 파일을 에디트창으로 엽니다.

4. "[11.0,12.0)" 를 "[11.0,12.0]" 로 수정합니다. (맨 끝 ')'을 ']'으로 수정)

5. 저장하고 다시 압축을 하고 확장자를 *.vsix로 변경하고 더블클릭하여 설치합니다.

 

참조 : https://refassistant.codeplex.com/discussions/451919

'VisualStudio > 추가기능' 카테고리의 다른 글

Visual Studio 2015 확장 기능 사용  (0) 2015.07.31
Visual Studio 사용중인 추가기능  (0) 2014.12.24

DataGridViewComboBoxCell이 클릭 되었을 때, 콤보박스 내용들을 확인하는 코드입니다.

 

 

 

this.grid.CellClick += MultiHeaderGrid_CellClick;

 

 

 

void grid_CellClick(object sender, DataGridViewCellEventArgs e)

{

    if (this.CurrentCell.EditType == typeof(DataGridViewComboBoxEditingControl))

    {

        SendKeys.Send("{F4}");

    }

} 

 

+ Recent posts