2015년 4월 1일 수요일

스프레드 출력 관련 삽질 #2

수정 전
for(int a=0; a<spread.Sheet.Count; aa++)
{
    spread.SetPrintInfo(pi,a);
    spread.PrintSheet(a);
}

수정 후
for(int a=0; a<spread.Sheet.Count; aa++)
{
    spread.SetPrintInfo(pi,a);
    spread.PrintSheet(a);
    System.Threading.Thread.Sleep(10);

이렇게 출력하려고 하면 한 페이지만 똑같이 나온다
여기에 Thread.Sleep(10); 를 넣어주면 잘 나온다... 아아 ㅜㅜ

아 그리고 스프레드에 시트를 추가해서 여러장을 만들 경우
스프레드 객체 하나 만들어서 가지고 노는게 속편하다

기존 스프레드에 추가해서 쓰려고 했더니 시트 삭제시 문제가 한 둘이 아니다 -_-
그래서 그냥 새로 만들어 넣었더니 아무 문제 없음 으허허어엉

이를 테면 이런 식

//프린트를 수행할 스프레드 변수 생성
//기존 스프레드에서 진행해도 무방하나 스프레드 초기화 및 시트 삭제의 문제가 있어 배제
FarPoint.Win.Spread.FpSpread TmpSpd = new FarPoint.Win.Spread.FpSpread();
FarPoint.Win.Spread.SheetView[] sv = new FarPoint.Win.Spread.SheetView[PageCnt];

//출력 페이지수만큼 시트 수 생성 및 삽입
if (PageCnt > 0)
{
    for (int k = 0; k < PageCnt; k++)
    {
        sv[k] = new FarPoint.Win.Spread.SheetView();
        sv[k] = CopySheet(spdPrint_Sheet);
        sv[k].SheetName = "Sheet " + k.ToString();
        TmpSpd.Sheets.Add(sv[k]);
    }
}

댓글 없음 :

댓글 쓰기