! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

GcExcel v3.1 새로운 기능 > 새로운 소식

본문 바로가기

서비스팩 GcExcel v3.1 새로운 기능

페이지 정보

작성자 GrapeCity 작성일 2020-10-14 14:24 조회 1,064회 댓글 0건

본문

GcExcel .NET Core API & GcExcel Java API의 새로운 v3.1 릴리스를 발표하게 되어 기쁘게 생각합니다. GcExcel을 사용하면 시스템에 미치는 부담 없이 신속하게 스프레드시트를 생성하고 스프레드시트 작업을 할 수 있으며, NET Standard 2.0 및 Java 응용 프로그램에서도 사용 가능합니다.

이 릴리스에서 가장 두드러지는 장점은 차트, 이미지, 조건부 서식 등이 포함된 Excel 보고서를 생성할 수 있도록 템플릿 지원을 개선했다는 점입니다. 또한 이 릴리스에는 향상된 차트 기능, 특정 Excel 개체를 이미지로 직접 내보내는 기능, 액셀 스프레드시트를 PDF 등의 형식으로 인쇄하는 기능이 추가되었습니다. 대부분의 업데이트는 .NET과 Java 버전 모두에 적용되었습니다. 아래에서 새로운 기능을 확인하십시오.

향상된 템플릿 지원

지난해 발표된 v3 릴리스에서는 Excel 문서에 데이터를 바인딩하고 고급 레이아웃의 Excel 보고서를 생성할 수 있는 포괄적인 구문과 API를 담은 템플릿 지원을 도입했습니다. 많은 Excel 기능은 스프레드시트에 널리 사용되고 인기가 있습니다. 새로운 릴리스의 Excel 템플릿으로 이러한 기능을 지원하게 되었습니다. 이제 강력한 MS Excel 기능과 Excel 템플릿을 결합하여 정말 전문가다운 Excel 보고서와 PDF Excel 보고서를 생성해 보십시오. 아래에서 새로운 기능을 확인하십시오.


Excel 차트 템플릿

이제 계열 데이터에 차트 템플릿을 정의하여 Excel 차트에 데이터를 바인딩할 수 있습니다. 차트의 계열 데이터를 올바른 템플릿 셀에 설정하면 GcExcel이 이 템플릿을 처리하여 데이터가 바인딩된 차트를 스프레드시트에 표시해 줍니다. 그러려면 Excel 템플릿을 만들고, 템플릿 필드와 수식을 정의하고, 차트의 계열 이름, 값 및 축 레이블을 템플릿 셀에 구성하면 됩니다. 템플릿을 처리하는 즉시 차트에 데이터가 바인딩됩니다.

Excel에서는 거의 모든 차트에 데이터 범위가 바인딩되어 있지만 데이터의 범위가 커지면 '데이터 소스 선택' 대화 상자에서 수동으로 데이터 범위를 업데이트해야 합니다. 차트를 템플릿 셀과 바인딩함으로써 얻을 수 있는 이점 중 하나는 템플릿을 처리하는 즉시 최종 차트가 항상 최신 데이터로 업데이트된다는 것입니다. 데이터 범위를 수동으로 업데이트하지 않아도 됩니다.

또한 대부분의 Excel API 공급업체는 이름이 지정된 범위를 차트에 바인딩할 수 있는 솔루션을 제공합니다. 이런 솔루션을 사용하려면 이름 지정된 범위를 코드로 정의한 다음 해당 범위를 차트 계열에 바인딩해야 합니다. 이 경우 데이터 소스의 데이터가 확장되면 문제가 생기며, 코드에서 데이터 범위를 수동으로 수정해야 합니다. GcExcel 템플릿 지원은 어떤 작업을 하기 위해 코딩을 한 단계 추가하는 것이 아니라 모든 기능을 템플릿 안에 넣는 데 중점을 둡니다. 차트 템플릿 지원을 이용하면 기본 데이터 소스의 데이터 범위에 대한 염려 없이 차트 계열을 템플릿 셀에 직접 바인딩할 수 있습니다.

차트 템플릿의 또 다른 이점은 다른 방식으로 구조화된 데이터도 차트에 바인딩할 수 있다는 것입니다. 예를 들어 데이터는 배열, JSON, 데이터 테이블 또는 사용자 정의 개체 등의 형태로 존재할 수 있습니다. Excel 템플릿에서는 템플릿 셀에 올바른 데이터를 정의한 다음 그 템플릿 셀을 차트에 바인딩하기만 하면 됩니다. 데이터의 구조가 차트에 맞을지 염려하지 않아도 됩니다. 차트는 템플릿 셀에 정의된 데이터 필드를 따르고 그 데이터 필드를 기준으로 확장됩니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

Excel 템플릿에 이미지 바인딩

직원의 개인 정보, 제품 카탈로그 등 대부분의 데이터 소스는 모두 데이터베이스에 이미지 필드가 있습니다. Excel 템플릿이 이러한 데이터베이스에 바인딩되어 있다면 반드시 이미지 필드를 지정하여 데이터베이스의 이미지 필드에 바인딩되도록 해야 합니다.

이미지 필드가 포함된 데이터베이스에 바인딩된 Excel 보고서를 제대로 만들려면 해당 데이터 필드의 'image' 속성을 'true'로 설정하면 됩니다. 그러면 셀에 이미지가 직접 바인딩됩니다. 또한 템플릿이 행 전체에 걸쳐 유사한 이미지 높이 및 너비로 확장되도록 이미지의 높이와 너비를 설정할 수도 있습니다.

{ds.icon(image=true)} 
{{ds.icon(image=true, image.height=150px)}}/ 
{{ds.icon(image=true, image.width=150px)}}/

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모 방문하기

조건부 서식 지원

데이터 표시와 더불어 Excel 스프레드시트에서는 값을 기준으로 셀에 조건부 서식 규칙을 적용할 수 있습니다. 이 기능은 너무나 많이 사용되므로 조건부 서식 규칙을 사용하지 않고 Excel 보고서를 생성한다는 것은 상상할 수도 없는 일입니다.

새로운 릴리스에서는 템플릿 셀에 조건부 서식 규칙을 설정할 수 있습니다. 모든 유형의 조건부 서식 규칙이 지원되며, 이러한 규칙은 원본 템플릿 셀에서 확장된 모든 셀에 적용됩니다.

보고서에 10만 달러 초과, 5만~10만 달러, 5만 달러 미만의 판매 수익을 표시해야 한다고 생각해 보십시오. 그러려면 조건부 서식 규칙(아이콘 집합)을 추가하고 템플릿 셀 C14를 수정하면 됩니다.

템플릿 셀에 조건부 서식을 적용함으로써 얻을 수 있는 이점은 데이터베이스에서 아무리 많은 데이터가 업데이트되더라도 최종 Excel 보고서가 항상 업데이트되므로 새로운 데이터를 반영하기 위해 템플릿이나 최종 보고서를 수동으로 변경할 필요가 없다는 것입니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

Excel 수식 내보내기

이제 템플릿에 적용한 수식을 그대로 Excel 파일로 내보낼 수 있습니다. 최종 보고서에서 수식이 적용된 셀을 선택한 다음 원본 템플릿에 적용된 수식을 확인하고 그 수식이 적용된 범위를 가져올 수 있습니다.

단, 이 수식은 올바른 데이터 범위를 참조해야 하고 템플릿에 정의되어 있어야 하며 {{=Formula}}라는 수식 앞에 "같음" 기호를 포함해야 합니다. 이 기능은 사용자가 기존 Excel 파일 또는 다른 Excel 파일에서 수식을 반복 사용할 때 유용합니다.

.NET 데모 | Java 데모

전역 설정 지원

사용자는 GcExcel 템플릿 기능으로 Excel 템플릿의 기본 설정을 지정할 수 있습니다. 템플릿이 확장되면 전체 데이터에 이 설정이 적용됩니다. 이 설정을 사용하면 각 필드에서 속성을 반복하지 않아도 됩니다. 이 기능은 Excel 보고서 생성을 위해 여러 개의 템플릿을 관리하는 경우에 특히 유용합니다.

템플릿 셀을 정의하면 다수의 행 및 열로 확장됩니다. 크기가 같은 행과 열을 표시하려면 템플릿 셀의 기본 크기를 설정하면 됩니다. 또는 최종 보고서에 행/열 또는 셀을 추가로 삽입할 수 있습니다.

이제 통합 문서에 정의된 기본 제공 이름 TemplateOptions를 사용하여 템플릿 안에 새 속성을 정의할 수 있습니다. 템플릿은 기본 설정을 자동으로 식별하여 템플릿 셀에 적용합니다.

이제 이름 관리자를 통해 Excel 템플릿에서 다음 속성을 전역적으로 설정할 수 있습니다.

TemplateOptions.KeepLineSize: 이 속성은 템플릿이 데이터로 확장될 때 설정된 행 높이와 열 너비를 템플릿 전체에 걸쳐 보존합니다.

TemplateOptions.InsertMode: 이 속성은 공간을 늘리기 위해 셀, 행, 열을 삽입하고 템플릿을 확장합니다.

또는 정의된 이름을 코딩하여 설정할 수도 있습니다. 이 방법은 위와 같이 MS Excel 템플릿에서 옵션을 설정하는 것과 동일한 효과가 있습니다.

Workbook workbook = new Workbook();
workbook.open("Template.xlsx");

//템플릿 전역 설정 초기화
workbook.getNames().add("TemplateOptions.KeepLineSize", "true");
workbook.getNames().add("TemplateOptions.InsertMode", "EntireRowColumn");

//데이터 원본 추가
workbook.addDataSource("ds", ds);

//템플릿을 처리하기 위해 호출
workbook.processTemplate();

workbook.save("Report.xlsx");

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

Excel 개체를 이미지 형식으로 내보내기

워크시트의 특정 부분을 웹 페이지나 기타 문서에 별도로 공유하고 싶을 때가 있습니다. 이러한 개체는 워크시트에서 이미지 형식으로 직접 내보내는 것이 더 수월합니다. GcExcel은 ToImage 메서드를 IWorksheetIRange 및 IShape에 추가합니다.

이 기능을 통해 Excel 파일에 사용된 셰이프, 차트, 워크시트, 범위, 이미지를 추가 단계나 API 없이 이미지 형식으로 직접 저장할 수 있습니다.

이 기능은 .NET에서만 지원됩니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

암호로 보호된 통합 문서 및 워크시트 지원

이 기능을 통해 통합 문서/워크시트를 암호로 보호할 수 있습니다. 통합 문서/워크시트의 보호를 해제하려면 반드시 동일한 암호를 사용해야 합니다. 이 기능은 다른 사용자가 숨겨진 워크시트를 보지 못하게 하거나 Excel 스프레드시트의 워크시트를 추가, 이동, 삭제, 숨김 또는 이름을 변경하지 못하게 할 때 유용합니다.

대외비 Excel 스프레드시트를 제한된 구성원에게만 공유하는 경우가 있습니다. 실수로 Excel 시트를 의도치 않은 수신자에게 전달했더라도 그 Excel 스프레드시트의 암호를 모르면 수신자가 통합 문서의 보호를 해제하여 Excel 파일을 조작할 수 없습니다.

이제 다음과 같은 암호 문자열로도 통합 문서/워크시트를 보호하거나 보호 해제할 수 있습니다. IWorkbook.Protect(문자열 암호), IWorksheet.Protect(문자열 암호): *통합 문서나 워크시트에 암호를 추가하는 방법입니다. IWorkbook.Unprotect(문자열 암호), IWorksheet.Unprotect(문자열 암호):* 사용자는 동일한 암호가 있어야 통합 문서나 워크시트의 보호를 해제할 수 있습니다.

.NET 도움말 | Java 도움말 | 통합 문서 .NET 데모 | 워크시트 .NET 데모 | 통합 문서 Java 데모 | 워크시트 Java 데모



향상된 차트 기능

차트의 오차 막대 지원

GcExcel에서는 차트에 오차 막대를 추가할 수 있도록 새로운 API인 ISeries.XErrorBar, ISeries.YErrorBarISeries.HasErrorBars를 추가했습니다. 이것으로 허용 오차 및 표준 편차를 표시할 수 있습니다. 이제 데이터를 완벽하게 시각화하는 것은 물론 차트가 추가된 Excel 파일로 데이터의 변동성을 그래픽으로 표현해 보십시오.

이 지원을 통해 다음과 같이 다양한 작업을 수행할 수 있습니다.

  • 오차 막대 유형 추가
    • 사용자 정의
    • 고정값
    • 백분율
    • StDev(표준 편차 유형)
    • StError(표준 오류 유형)
  • 포함 유형 및 엔드 캡 유형 설정
  • 오차 막대의 스타일 구성
  • 오차 막대 방향 - X 및 Y
  • 오차 막대 삭제

위의 예에서는 세 분기에 걸친 휴대폰 매출액의 데이터 변동성을 보여줍니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

차트 제목의 텍스트 각도/축 눈금 레이블/데이터 레이블 지원

차트의 크기를 조정하고 싶지 않지만 축 눈금, 데이터 레이블/차트 제목이 길어서 서로 붙어 있는 경우가 있습니다. 이 기능을 사용하면 축 데이터나 눈금 레이블 또는 차트 제목에 사용자 정의 각도를 설정하여 차트에 표시할 수 있습니다. ChartTitle, DataLabels, TickLabels에 Orientation 속성을 설정하여(-90도~90도 범위의 정수 값) 각각의 데이터 방향을 설정하면 됩니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

추세선 이름 추가

MS Excel은 추세선에 기본 이름을 부여합니다. 그러나 측정할 데이터 패턴을 바탕으로 특정한 이름을 설정하고 싶다면 GcExcel API를 사용하면 됩니다.

ITrendline.Name 속성으로 추세선 이름을 설정할 수 있으며, 추세선이 여러 개인 경우 각 추세선의 이름으로 추세선의 목적을 확인할 수 있습니다.

.NET 도움말 | Java 도움말

도형의 TextFrame 맞춤 지원

도형으로 구성된 Excel 스프레드시트에서는 데이터를 더 이해하기 쉽게 설명하기 위해 도형 내에 텍스트를 사용합니다. GcExcel은 텍스트 프레임에서 텍스트의 가로/세로 맞춤을 가져오거나 설정할 수 있도록 ITextFrame.HorizontalAnchor/VerticalAnchor에 대한 지원을 추가합니다. 이 API는 도형의 텍스트 프레임 위치와 맞춤을 제어하는 데 도움이 됩니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

특정 범위에 이미지 추가

지금까지는 특정 위치에서 워크시트에 그림을 추가하려면 이미지의 절대 위치와 크기를 알아야 했습니다. 이미지 렌더링을 시작하기 위해 특정 범위를 지정해야 하는 경우가 있습니다. 이미지의 위치와 크기를 간편하게 계산할 수 있도록 GcExcel은 GetRangeBoundary(IRange) 메서드를 CellInfo 클래스에 추가합니다. 이를 통해 이미지를 추가할 특정 범위의 위치와 크기를 가져오면 됩니다. 이것은 위치를 직접 계산하는 대신 GetRangePosition()으로 적절한 범위 위치를 결정함으로써 작업을 간소화하는 방법입니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

도형의 그라데이션 채우기 유형 지원

GcExcel은 도형 채우기를 위한 그라데이션 속성 설정을 항상 지원해 왔습니다. 이 외에도 GcExcel은 IFillFormat.GradientPathType 열거형 및 IFillFormat.TwoColorGradient 메서드를 추가하여 도형을 채우는 그라데이션 스타일 및 채우기 유형을 지정합니다.

사용자는 열거형을 통해 다음과 같은 유형의 그라데이션 채우기를 편리하게 지정할 수 있습니다.

  • 선형
  • 방사형
  • 직사각형
  • 경로

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

차트, 도형 또는 이미지에 이름으로 액세스

이제 워크시트에 사용되는 차트, 도형, 이미지에 이름을 지정할 수 있습니다. 이렇게 하면 워크시트의 개체에 이름으로 액세스할 수 있을 뿐 아니라 수정할 개체를 결정하기 위해 Excel 개체 목록 전체를 살펴보지 않고도 속성을 수정할 수 있습니다.

//새 통합 문서 생성
var workbook = new Workbook();

IWorksheet worksheet = workbook.Worksheets[0];

//사용자 정의 이름으로 도형 작성
IShape shape = worksheet.Shapes.AddShape("rectangle", AutoShapeType.Rectangle, 50, 50, 200, 200);

//이름으로 도형 가져오기
IShape rectangle = worksheet.Shapes["rectangle"];
rectangle.Fill.Color.RGB = Color.Red;

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모



향상된 PDF 내보내기 기능

PDF로 인쇄할 때 배경 이미지 지원 개선

이제 Excel 파일을 PDF로 내보낼 때 여러 개의 배경 이미지를 추가하고 이미지 레이아웃, 투명도, 기타 속성을 설정할 수 있습니다. GcExcel은 PDF에 필요한 배경 이미지 설정을 더 상세히 제어할 수 있도록 IBackgroundPicture를 추가합니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

PDF로 인쇄하기 위해 페이지 매김 정보 가져오기

이제 Excel 파일의 PDF 페이지 매김 방식을 추출할 수 있습니다. GcExcel은 GetPaginationInfo 메서드를 PrintManager 클래스에 추가하여 워크시트의 인쇄 영역에 따른 페이지 경계를 가져옵니다. 또한 PageSetupKeepTogetherRanges 및 RepeatSettings에서 특정 속성을 설정하여 페이지 매김을 제어할 수 있습니다.

Excel 스프레드시트에서 스프레드시트의 페이지 나누기를 보고, 내용이 여러 페이지에 어떻게 나뉘어 들어가는지 파악할 수 있습니다. GetPaginationInfo는 코드를 통해 유사한 정보를 제공하도록 설계되었습니다. PDF로 인쇄할 때 이 메서드로 페이지에 맞게 데이터를 조정하거나 한곳에 모아 둘 데이터를 설정할 수 있습니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

PDF에서 투명한 셀 배경색 지원

특정 내용의 셀에 투명한 배경색을 설정하고 싶은데 MS Excel에서 Excel 스프레드시트를 PDF로 변환하면 투명 설정이 사라질 수 있습니다.

이제 GcExcel의 PdfSaveOptions에 PrintTransparentCell 속성이 있습니다. true로 설정하면 PDF로 내보낼 때 셀의 투명성이 보존됩니다. 내보낸 PDF에서 보이도록 하려면 셀에 다른 배경 내용을 추가하면 됩니다. 아래 예의 회사에서는 혈액 검사 보고서에 자사의 워터마크를 배경에 투명하게 표시하여 PDF로 인쇄하고자 합니다. Excel 파일을 PDF로 내보낼 때 배경 내용이 보이도록 셀 배경색을 투명으로 선택했습니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모

SpreadJS 통합을 위한 부가 기능

워크시트 JSON I/O 지원

이제 동일한 통합 문서 또는 다른 통합 문서와 JSON 간에 단일 워크시트를 가져오고 내보낼 수 있습니다. 고객은 이 기능으로 GrapeCity SpreadJS 컴포넌트의 프런트 엔드와 백 엔드 사이에서 단일 시트만 전송할 수 있습니다.

string fileName = "UserFile";
string source = "D:\\" + fileName + ".xlsx";
//사용자 파일 열기
Workbook workbook = new Workbook();
workbook.Open(source);
//동일한 사용자 파일 열기
Workbook workbook_save = new Workbook();
workbook_save.Open(source);
foreach (IWorksheet worksheet in workbook.Worksheets)
{
    //워크시트 변경 수행
    //...

    string json = worksheet.ToJson();
    workbook_save.Worksheets[worksheet.Name].FromJson(json);
}

//저장
workbook_save.Save("D:\\" + fileName + "_output.xlsx");

.NET 도움말 | Java 도움말 | .NET 데모


계층 구조 데이터를 표시하기 위한 개요 열 지원

GcExcel은 SpreadJS 컴포넌트의 워크시트에서 계층 구조 데이터를 TreeView로 표시할 수 있는 OutlineColumn 옵션을 추가합니다. 또한 워크시트에서 행 및 열 아웃라인을 표시할 수 있는 ShowRowOutline/ShowColumnOutline도 지원합니다. 아웃라인 열을 PDF로 내보낼 수도 있고 JSON으로 가져오거나 내보내 SpreadJS와 함께 사용할 수 있습니다.

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모


범위, 표 및 워크시트의 데이터 바인딩 지원

이제 바인딩 경로를 데이터 소스에 직접 설정할 수 있도록 IRange, ITable에 도입된 새로운 BindingPath 속성을 사용해 범위, 표 및 워크시트를 데이터에 직접 바인딩할 수 있습니다. 또한 워크시트의 데이터 소스를 가져오거나 설정할 수 있도록 하는 IWorksheet.DataSource API도 새로 추가했습니다. 이 바인딩 경로는 JSON I/O를 지원하므로 GrapeCity SpreadJS 컴포넌트와 상호 작용할 수 있습니다.

//새 통합 문서 생성
var workbook = new GrapeCity.Documents.Excel.Workbook();

#region Define custom classes
    //public class SalesRecord
    //{
    //    public string Area;
    //    public string Salesman;
    //    public string Product;
    //    public string ProductType;
    //    public int Sales;
    //}
    #endregion

#region Init data
var record = new SalesRecord
{
        Area = "NorthAmerica",
        Salesman = "Hellen",
        Product = "Beverages",
        ProductType = "Tea",
        Sales = 120
};
#endregion

IWorksheet worksheet = workbook.Worksheets[0];

// 셀의 바인딩 경로를 설정하십시오.
worksheet.Range["A1"].BindingPath = "Area";
worksheet.Range["B2"].BindingPath = "Salesman";
worksheet.Range["C2"].BindingPath = "Product";
worksheet.Range["D3"].BindingPath = "ProductType";

// 데이터 소스를 설정하십시오.
worksheet.DataSource = record;

//엑셀 파일로 저장
workbook.Save("SalesReport.xlsx");

.NET 도움말 | Java 도움말 | .NET 데모 | Java 데모


JSON 가져오기 오류 반환

이제 JSON 파일에서 통합 문서로 데이터를 가져올 때 발생한 오류를 확인할 수 있습니다. 데이터에 대해 확인할 수 있는 오류는 FormulaError와 DataValidationError 두 가지입니다. 이러한 오류 목록은 JSON에서 오류를 교정하는 데 도움이 됩니다.

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.