none
C#으로 엑셀 프로그램 만드는거 질문드립니다. RRS feed

  • 질문

  • 보통 엑셀할때 페이지 설정할려면 페이지 셋업 들어가서 커스텀 헤더에 들어가서 Right Header란에

    &[Page]/&[Pages] 이렇게 치면 자동으로 1/8 이런식으로 세팅이 되잖아요?

    근데 이걸 C#에서 이런식으로 코딩해서

     ws.PageSetup.RightHeader="&[Page]/&[Pages];

    미리보기를 해버리면 Page]/Pages] 딱 요렇게 나옵니다. 

    그런데 페이지 셋업창에 가면 &[Page]/&[Pages] 요렇게 적혀있거든요? 그래서 그걸 확인 누르고 미리보

    기를 하면 다시 1/8요런식으로 바뀌어서 나오더라구요.

    어떻게 해야 Page]/Pages] 요렇게 안나오고 바로 1/8 이런식으로 나오는가요?

    밑에는 제가 짜본 코드입니다.

      private void button1_MouseClick(object sender, MouseEventArgs e)
            {
                Excel.Application excelApp = new Excel.Application();
                excelApp.Visible = true;

                Excel.Workbook wb = excelApp.Workbooks.Add(true);
                Excel.Worksheet ws = (Excel.Worksheet)excelApp.ActiveSheet;

               // ws.Cells.Font.Size = 30;
                for(int i=1; i<100; i++)
                {
                    for (int j = 1; j < 10; j++)
                    {
                        ws.Cells[i, j] = i *j;
                    }
                }


                ws.PageSetup.RightHeader = @"&[Page]/&[Pages]";
                ws.PageSetup.CenterHeader="GOOD";
               ws.PageSetup.LeftHeader = "&[Page]/&[Pages]";




            }

    2013년 3월 15일 금요일 오후 4:56

답변

  • ws.PageSetup.LeftHeader = "&P / &N";

    이렇게 한번 해보세요.

    http://xlsgen.arstdesign.com/core/pagesetup.html

    Encoding Description
    &L What's after this token applies to the portion on the left
    &C What's after this token applies to the portion on the center
    &R What's after this token applies to the portion on the right
    &T Inserts the time (using the user's computer regional settings)
    &D Inserts the date (using the user's computer regional settings)
    &P Inserts the current page number (possibly offset by the FirstPageNumber property, whose default value is 1).
    &P+nn Inserts the current page number (possibly offset by the FirstPageNumber property, whose default value is 1), plus number nn.
    &P-nn Inserts the current page number (possibly offset by the FirstPageNumber property, whose default value is 1), minus number nn.
    &N Inserts the total page number
    &F Inserts the Excel file name
    &Z Inserts the directory path to the Excel file name
    &A Inserts the worksheet name
    &G Inserts a graphic. The token is to be followed by the actual filepath of the graphic enclosed in double quotes, i.e. &G"c:\tmp\myheader.png". Please note the backslashes in the filepath may have to be doubled depending on your programming language.
    &"fontname" Sets the font name and optional style to use for any content after that token. Examples : "Arial", "Arial,Bold", "Arial,Bold Italic"
    &number Sets the font size in pixels for any content after that token. Example : &08
    &B Sets the font bold, to use for any content after that token, or until there is another &B.
    &I Sets the font italic, to use for any content after that token, or until there is another &I.
    &U Sets the font underline, to use for any content after that token, or until there is another &U.
    &E Sets the font double underline, to use for any content after that token, or until there is another &E.
    &S Sets the font strike-through, to use for any content after that token, or until there is another &S.
    &X Sets the font superscript, to use for any content after that token, or until there is another &X.
    &Y Sets the font subscript, to use for any content after that token, or until there is another &Y.
    &O Turns outline printing on or off (Macintosh only)
    &H Turns shadow printing on or off (Macintosh only).


    • 편집됨 GoldrushKoreaMVP 2013년 3월 18일 월요일 오전 12:05
    • 답변으로 표시됨 Nevermores 2013년 3월 18일 월요일 오후 2:36
    2013년 3월 18일 월요일 오전 12:04
  • 설정값을 모를 경우는 LeftHeader를 설정하고 난후 button1의 click 이벤트에서 설정값을 메시지 박스로 띄워 보십시오.

    예를 들면 아래처럼요.

    MessageBox.Show(this.PageSetup.LeftHeader);

    위의 코드는 아래처럼 바꾸어서 테스트 해보십시오. 제가 테스트한 코드는 VS 2012, Excel 2013으로 되어 있어 다를수 있습니다.

                ws.PageSetup.RightHeader = @"&P/&N";
                ws.PageSetup.CenterHeader = "GOOD";
                ws.PageSetup.LeftHeader = @"&P/&N";


    Hong-ju

    • 답변으로 표시됨 Nevermores 2013년 3월 18일 월요일 오후 2:36
    2013년 3월 18일 월요일 오전 12:07

모든 응답

  • ws.PageSetup.LeftHeader = "&P / &N";

    이렇게 한번 해보세요.

    http://xlsgen.arstdesign.com/core/pagesetup.html

    Encoding Description
    &L What's after this token applies to the portion on the left
    &C What's after this token applies to the portion on the center
    &R What's after this token applies to the portion on the right
    &T Inserts the time (using the user's computer regional settings)
    &D Inserts the date (using the user's computer regional settings)
    &P Inserts the current page number (possibly offset by the FirstPageNumber property, whose default value is 1).
    &P+nn Inserts the current page number (possibly offset by the FirstPageNumber property, whose default value is 1), plus number nn.
    &P-nn Inserts the current page number (possibly offset by the FirstPageNumber property, whose default value is 1), minus number nn.
    &N Inserts the total page number
    &F Inserts the Excel file name
    &Z Inserts the directory path to the Excel file name
    &A Inserts the worksheet name
    &G Inserts a graphic. The token is to be followed by the actual filepath of the graphic enclosed in double quotes, i.e. &G"c:\tmp\myheader.png". Please note the backslashes in the filepath may have to be doubled depending on your programming language.
    &"fontname" Sets the font name and optional style to use for any content after that token. Examples : "Arial", "Arial,Bold", "Arial,Bold Italic"
    &number Sets the font size in pixels for any content after that token. Example : &08
    &B Sets the font bold, to use for any content after that token, or until there is another &B.
    &I Sets the font italic, to use for any content after that token, or until there is another &I.
    &U Sets the font underline, to use for any content after that token, or until there is another &U.
    &E Sets the font double underline, to use for any content after that token, or until there is another &E.
    &S Sets the font strike-through, to use for any content after that token, or until there is another &S.
    &X Sets the font superscript, to use for any content after that token, or until there is another &X.
    &Y Sets the font subscript, to use for any content after that token, or until there is another &Y.
    &O Turns outline printing on or off (Macintosh only)
    &H Turns shadow printing on or off (Macintosh only).


    • 편집됨 GoldrushKoreaMVP 2013년 3월 18일 월요일 오전 12:05
    • 답변으로 표시됨 Nevermores 2013년 3월 18일 월요일 오후 2:36
    2013년 3월 18일 월요일 오전 12:04
  • 설정값을 모를 경우는 LeftHeader를 설정하고 난후 button1의 click 이벤트에서 설정값을 메시지 박스로 띄워 보십시오.

    예를 들면 아래처럼요.

    MessageBox.Show(this.PageSetup.LeftHeader);

    위의 코드는 아래처럼 바꾸어서 테스트 해보십시오. 제가 테스트한 코드는 VS 2012, Excel 2013으로 되어 있어 다를수 있습니다.

                ws.PageSetup.RightHeader = @"&P/&N";
                ws.PageSetup.CenterHeader = "GOOD";
                ws.PageSetup.LeftHeader = @"&P/&N";


    Hong-ju

    • 답변으로 표시됨 Nevermores 2013년 3월 18일 월요일 오후 2:36
    2013년 3월 18일 월요일 오전 12:07