GcExcel v5 서비스팩 1 > 새로운 소식

본문 바로가기

Java & Kotlin API

새로운 소식

서비스팩 GcExcel v5 서비스팩 1

페이지 정보

작성자 GrapeCity 작성일 22-05-03 14:52 조회 16회 댓글 0건

본문

GrapeCity Documents for Excel(GcExcel)의 새로운 v5.1 릴리스를 발표하게 되어 기쁘게 생각합니다.

이 새 릴리스에는 기존 GcExcel Excel 라이브러리 & API 도구 키트에 대한 업데이트, Excel 템플릿 처리 개선 사항 및 JavaScript 스프레드시트인 SpreadJS 통합을 위한 더 많은 기능이 포함되어 있습니다. 아래에서 주요 특징을 확인해 보세요!

GcExcel 보고서 템플릿 향상된 기능

새로운 v5.1 릴리스에서는 더 많은 시나리오와 Excel 기능을 다루기 위해 GcExcel 보고서 템플릿의 기능을 향상했습니다. 또한 템플릿의 보고서 생성은 이전보다 훨씬 빨라질 것입니다.

게다가 이제 JsonDataSource 클래스를 사용하여 JSON 데이터 소스로 직접 Report Templates를 바인딩할 수도 있습니다.

//create a new workbook
var workbook = new GrapeCity.Documents.Excel.Workbook();

//Load template file Template_FamilyInfo.xlsx from resource
var templateFile = GetResourceStream("xlsx\\Template_FamilyInfo.xlsx");
workbook.Open(templateFile);

//Get data from json file
string jsonText = string.Empty;
using (Stream stream = GetResourceStream("Template_FamilyInfo.json"))
using (StreamReader reader = new StreamReader(stream))
{
       jsonText = reader.ReadToEnd();
}
// Create a JsonDataSource
var datasource = new JsonDataSource(jsonText);

//Add data source
workbook.AddDataSource("ds", datasource);
//Invoke to process the template
workbook.ProcessTemplate();

// Save to an excel file
workbook.Save("jsonfile.xlsx");


보고서 JSON


최신 기능 업데이트를 위해 다음 리소스 및 GcExcel 보고서 템플릿 샘플을 확인하십시오.

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

Excel 파일에서 표, 범위 또는 워크시트를 가져오기 위한 ImportData 함수

최신 릴리스에는 전체 파일을 로드하지 않고 Excel 파일에서 특정 범위의 데이터를 가져올 수 있도록 ImportData 함수를 추가했습니다. 이 함수는 특정 범위의 데이터에 대해 전체 Excel 파일을 두 배 빠르게 가져오도록 작동됩니다. 여기에서 성능을 확인해 보세요.


새로운 인터페이스인 Workbook.GetNames(string fileName)를 통해 사용자는 범위 차원 대신 가져온 범위로 표 이름 참조를 쉽게 추가할 수 있습니다. 사용자는 특정 워크시트 이름 또는 표 이름이 아닌 가져올 통합 문서 경로만 알고 있을 수 있습니다. v5.1 릴리스에서는 지정된 소스에서 데이터를 가져오기 위해 Workbook.ImportData(string fileName, string sourceName) 함수를 사용할 수 있도록 했습니다.


소스는 시트 이름, 표 이름 또는 범위 이름이 될 수 있으며 모든 워크시트, 표의 이름 및 범위 참조에 평가되는 정의된 이름을 포함하여 Workbook.GetNames(string fileName)에서 이름 배열을 반환하는 새 인터페이스에서 가져올 수 있습니다.


다음 예에서는 GetNames 메서드에서 소스 이름을 사용하여 Excel 파일에서 표 데이터를 가져옵니다.

//create a new workbook
var workbook = new GrapeCity.Documents.Excel.Workbook();

// Open an excel file.
var fileStream = GetResourceStream("xlsx\\AgingReport.xlsx");

// Get the possible import names in the file.
// The names[0] and names[1] are sheet names: "Aging Report", "Invoices".
// The names[2] and names[3] are table names: "'Aging Report'!tblAging", "Invoices!tblInvoices".
var names = GrapeCity.Documents.Excel.Workbook.GetNames(fileStream);

// Import the data of a table "'Aging Report'!tblAging" from the fileStream.
var data = GrapeCity.Documents.Excel.Workbook.ImportData(fileStream, names[2]);

// Assign the data to current workbook.
workbook.Worksheets[0].Range[0, 0, data.GetLength(0), data.GetLength(1)].Value = data;

// Save to an excel file
workbook.Save("importdatafortable.xlsx");


데이터 가져오기


다음과 같은 상황에서 ImportData 함수를 사용하면 더욱 빨라집니다.

  • 소스 파일에 큰 숫자의 수식이 있는 경우 ImportData(Sheet)는 데이터만 읽습니다.
  • 소스 파일에 여러 시트가 있지만 사용자가 이 중 하나의 시트 데이터만 원하는 경우 ImportData(Sheet)는 이 시트의 데이터만 읽습니다.
  • 소스 파일에 많은 데이터가 있는 경우 ImportData(Range)는 일부분만 읽습니다.
  • 기타

다음 리소스에서 ImportData 함수에 대해 자세히 알아보세요.

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

새로운 CELL 함수 지원

특정 셀의 Cell 정보를 찾아 Excel 파일에서 특정 연산을 수행하고 싶은 경우도 있습니다. 원하는 정보는 셀 주소, 색상, 내용, 파일 이름, 서식 등의 모든 특징이 될 수 있습니다. 예를 들어 함수에서 반환한 값에 따라 셀 주소를 알고 싶어할 수 있습니다.


GcExcel은 "=CELL(info_type, [reference])" 구문으로 CELL 함수를 도입하였으며 이는 원하는 정보 유형 및 참조 유형을 제공하여 관련된 셀 정보를 찾는 데 도움이 될 수 있습니다.


CELL 함수 지원


자세한 내용은 아래의 리소스를 찾아보시기 바랍니다.

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

범위로 표 변환

Excel에서 표로 데이터를 보유하면 데이터로 작업할 때 고급 기능을 사용할 수 있습니다. 하지만 원하는 방식으로 데이터를 조작할 때 이러한 기능이 중단되는 경우가 있을 수 있습니다.


고급 기능으로 인해 작동 시 표가 더욱 느려질 수도 있습니다. 많은 Excel 파일은 보관 목적으로만 데이터를 저장하거나 표 기능 없이 스타일 및 데이터만 필요로 할 수 있습니다.


표 열에서 동적 배열 수식을 적용해야 하는 경우도 있습니다. 아직은 동적 배열 수식이 표에서 지원되지 않으므로 표를 일반 범위로 변환해야 합니다. 이러한 상황들에서 Excel 파일에서 표를 범위로 변환해야 하는 요구사항이 생깁니다.


표 데이터를 사용하여 작업하고 싶은 이러한 파일이 수천 개가 있지만 일반 범위로 변환될 때까지 그렇게 할 수 없다고 가정해 보십시오. 표를 범위로 변환하는 작업을 수동으로 수행하는 것은 쉽지 않습니다. 이 요구 사항에 맞춰 GcExcel은 새로운 API ITable.ConvertToRange()를 제공하여 프로그래밍 방식으로 표를 범위로 변환합니다.


표를 범위로 변환하면 표 기능은 더 이상 데이터 범위에서 사용할 수 없지만 스타일 및 데이터는 유지됩니다. 워크시트의 수식에서 표 참조는 셀 참조로 변환됩니다. 다음 예시에서 셀 참조를 확인하십시오.


범위로 표 변환


workbook.Open("Orders.xlsx");
IWorksheet worksheet = workbook.Worksheets[0];
// Add table.
ITable table = worksheet.Tables.Add(worksheet.Range["A9:D14"], true);

// Convert table to range.
table.ConvertToRange();

// Save to an excel file
workbook.Save("converttorange.xlsx");

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

Excel 문서의 암호 수정

Excel 파일이 사용자에게 공유되면 쉽게 스프레드시트를 편집할 수 있습니다. 통합 문서, 시트 또는 시트의 영역에는 적합한 담당자만 액세스하거나 변경해야 하는 민감한 데이터가 포함될 수 있습니다. Excel은 이를 보호하고 읽기 전용으로 설정하는 옵션을 제공합니다. GcExcel은 통합 문서를 저장하는 경우 통합 문서 보호 옵션을 설정하도록 IWorkbook.WriteProtection 클래스를 추가합니다. 이 새로운 기능을 통해 다음을 수행할 수 있습니다.

  • 통합 문서를 WriteProtection.ReadOnlyRecommended로 저장 - True일 경우 MS Excel은 파일을 읽기 전용으로 열기를 권장합니다.
  • 통합 문서를 저장하는 경우 보호 옵션 추가
  • 문서에 암호 수정 설정이 있는지 여부 확인
  • 암호 수정 설정
  • 통합 문서의 쓰기 권한이 있는 사용자 이름 설정
  • 암호가 암호 수정에 설정된 암호와 동일한지 확인

암호 수정

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

CSV 사용자 정의 구문 분석기

CSV 파일은 다양한 응용 프로그램 및 시스템이 데이터를 공유하는 데 사용하는 매우 일반적인 파일 서식입니다. 응용 프로그램은 간단한 텍스트 문자로 CSV 파일을 저장합니다. 쉼표는 이름, 전화 번호 또는 달러 금액과 같이 인접한 셀로부터 각 데이터 요소를 구분합니다. 다양한 응용 프로그램에서 CSV의 간단한 서식 및 공유 데이터로 인해 특정 데이터는 다양한 응용 프로그램 또는 문화의 요구 사항에 따라 다양한 서식으로 변환하고 구문 분석해야 합니다.


GcExcel은 사용자가 자체 규칙에 따라 데이터를 구문 분석하도록 ICsvParser를 도입합니다. ICsvParser.Parse(CsvParseResult csvParseResult, CsvParseContext context) 메서드는 사용자가 CsvParseResult 객체에서 사용자 정의하려는 서식을 전달할 수 있습니다. 반대로 CsvParseContext 객체에는 셀의 위치 및 값 정보가 포함됩니다.


다음 예시는 날짜 서식을 mm/dd/yyy에서 yyyy/mm/dd로 변환합니다.


CSV 사용자 정의 구문 분석기

public class CustomParser : ICsvParser
{
    public void Parse(CsvParseResult csvParseResult, CsvParseContext context)
    {
        if (context.Text.StartsWith("00"))
        {
            csvParseResult.Value = context.Text;
        }
        else if (csvParseResult.NumberFormat.Equals("mm/dd/yyyy"))
        {
            csvParseResult.NumberFormat = "yyyy/mm/dd";
        }
    }
}

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

'값' 필드의 '값 표시 형식' 옵션 지정

GcExcel은 이제 MS Excel의 '값 표시 형식' 옵션을 지원하며 이는 피벗 테이블에서 다양한 방식으로 값을 표시하도록 돕습니다. GcExcel은 다음을 도입하였습니다.

  • 지정된 필드에서 수행하는 계산 유형을 나타내는 값을 가져오거나 설정하는 IPivotField.Calculation.
  • 사용자 정의 계산의 기본 필드를 가져오거나 설정하는 IPivotField.BaseField를 사용합니다. 데이터 필드에 대해서만 이 속성이 유효합니다.
  • 사용자 정의 계산의 기본 필드에서 항목을 가져오거나 설정하는 IPivotField.BaseItem을 사용합니다. 데이터 필드에 대해서만 이 속성이 유효합니다.

다음 예시에서는 '총합계 비율' 옵션이 피벗 테이블의 데이터에 설정되었습니다.


피벗 테이블


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

피벗 테이블에서 계산된 필드 지원

피벗 테이블 계산에 더 많은 기능을 추가하려는 경우 단순한 요약 함수를 사용하여 계산을 할 수 없는 경우, 계산된 필드가 데이터 소스에서 하나 이상의 다른 필드에 계산을 수행하도록 도울 수 있습니다. GcExcel은 피벗 테이블에서 계산된 필드를 만들거나 제거하는 데 사용할 수 있는 ICalculatedFields 인터페이스를 추가합니다.


또한 IPivotTable.CalculatedFields() 메서드는 지정된 PivotTable 보고서에서 모든 계산된 필드와 함께 CalculatedFields 컬렉션을 가져올 수 있지만 새로운 IPivotField.Formula는 계산된 필드 수식을 가져오거나 설정할 수 있습니다.


계산된 필드


새로운 ICalculatedFields API의 더 많은 기능을 확인해 보십시오.

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

차트에서 "빈 셀로 #N/A 표시" 지원

셀에 #N/A 값이 있는 일부 데이터가 있는 경우가 있습니다. 따라서 이 데이터가 차트에서 빈 셀로 그려질지 또는 그려지지 않을지 여부를 선택할 수 있으며 GcExcel은 True 또는 False로 설정할 수 있는 새로운 IChart.DisplayNaAsBlank 속성을 도입합니다. 다음 예시에서 이 둘의 차이를 확인하십시오.


#N/A


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

SpreadJS 통합을 위한 추가 기능

피벗 테이블 보기 지원(JSON I/O)

GcExcel은 SpreadJS 컨트롤 기능인 피벗 보기의 JSON I/O를 지원합니다. SpreadJS는 피벗 테이블의 현재 보기를 피벗 보기로 저장하며, 여기서 피벗 테이블은 피벗 테이블의 보기 레코드 상태를 반환하는 데 사용합니다. 아래에 표시된 스냅샷은 피벗 보기를 변경하는 SpreadJS입니다. 이러한 SpreadJS JSON 파일은 이제 GcExcel을 사용한 I/O에서 지원될 수 있습니다.


피벗 보기

//create a new workbook
var workbook = new GrapeCity.Documents.Excel.Workbook();

Stream fileStream = this.GetResourceStream("json\\PivotTableViews.json");
workbook.FromJson(fileStream);

// Create a ssjson file stream
FileStream outputStream = new FileStream("pivottableviews.ssjson", FileMode.Create);

workbook.ToJson(outputStream);

// Close the ssjson stream
outputStream.Close();

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


테이블 시트 지원(JSON I/O)

GcExcel은 테이블 시트의 JSON I/O를 지원하며, 이는 SpreadJS의 기능입니다. 테이블 시트는 그리드와 같은 동작 및 스프레드시트 사용자 인터페이스를 갖춘 빠른 데이터 바인딩 테이블 보기입니다. 아래 스냅샷은 SpreadJS에서의 테이블 시트입니다.


테이블 시트


아래 코드는 위에 있는 JSON 파일의 단순 I/O를 보여줍니다.

//create a new workbook
var workbook = new GrapeCity.Documents.Excel.Workbook();

Stream fileStream = this.GetResourceStream("json\\TableSheets.json");
workbook.FromJson(fileStream);

// Create a ssjson file stream
FileStream outputStream = new FileStream("tablesheets.ssjson", FileMode.Create);

workbook.ToJson(outputStream);

// Close the ssjson stream
outputStream.Close();

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


숫자 맞춤 모드

열에 있는 숫자가 필드에 너무 넓게 표시되어 셀에 숫자 기호(파운드 기호 "#")만 표시되는 상황을 경험한 적이 종종 있을 것입니다. 이는 특히 전체 결과를 보기 위해 여러 열에 조정이 필요한 경우 열을 조정하는 데 많은 시간이 소요되는 프로세스입니다.


GcExcel은 이제 마스크 및 오버플로 옵션을 갖춘 IWorkbookView.NumbersFitMode 열거를 지원합니다. 마스크 옵션은 데이터를 '###'로 바꾸며 오버플로 옵션은 인접한 셀이 비어 있는 경우 데이터를 오버플로합니다.


이 옵션은 SpreadJS JSON I/O와만 작동하거나 PDFHTML 또는 이미지로 내보냅니다. 다음 스냅샷은 GcExcel API를 사용하여 오버플로 열거가 있는 열 B에 적용된 NumbersFitMode 속성을 보여줍니다. 그림은 PDF에 반영된 대로 속성을 표시합니다.


숫자 맞춤 모드


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





지금 바로 GcExcel Java를 다운로드하여 직접 테스트해보세요!

gcexcel-java.png

 
  • 페이스북으로 공유
  • 트위터로  공유
  • 구글플러스로 공유
  • 카카오톡으로 보내기
그레이프시티 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
그레이프시티 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@grapecity.com | 전화 : 1670-0583 | 경기도 안양시 동안구 시민대로 230, B-703(관양동, 아크로타워) 그레이프시티(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 Copyright ⓒ 2022 GrapeCity inc.