Java 앱에 Excel XLSX API 라이브러리, GcExcel을 추가하는 방법
페이지 정보
작성자 GrapeCity 작성일 2023-07-11 14:20 조회 112회 댓글 0건본문
관련링크
로 가상의 시나리오를 만들어 라이브러리의 기능에 기초적인 설명을 하고자 합니다.
Microsoft Excel에 종속되지 않고, GcExcel Java를 사용하여 Microsoft Excel XLSX 파일에서 간단한 예산을 설정하는 방법을 보여줍니다.
JDK 8 이상 버전이 설치되어 있어야 합니다.
또는 와 같은 선호하는 Java IDE로 Java 콘솔 응용 프로그램을 만듭니다.
IntelliJ 또는 Eclipse 콘솔 응용 프로그램:
또는 에서 GcExcel jar 패키지를 다운로드합니다.
gcexcel-x.x.x.jar를 프로젝트 라이브러리 폴더에 복사하고 종속성 라이브러리로 추가합니다.
- Gradle 프로젝트:
build.gradle를 열고 종속성 블럭에 아래 스크립트를 추가합니다. 여기서 "x.x.x"는 GcExcel Java jar 패키지의 실제 버전으로 바꿉니다. compile("com.grapecity.documents:gcexcel:x.x.x")
Maven 프로젝트:
pom.xml을 열고 종속성 노드에 아래 XML 요소를 추가합니다. 여기서 "x.x.x"는 GcExcel Java jar 패키지의 실제 버전으로 바꿉니다.
<dependency> <groupId>com.grapecity.documents</groupId> <artifactId>gcexcel</artifactId> <version>x.x.x</version> </dependency>
이 샘플에서는 외부 패키지를 사용하지 않습니다.
기능을 사용할 때 필요한 특정 기능 및 연결된 패키지 종속성의 전체 목록은 이 도움말 항목을 참조하십시오.
네임스페이스 추가 및 통합 문서 만들기
main.java를 열고 상단에 다음 네임스페이스를 추가합니다.
Java
import com.grapecity.documents.excel.*; import com.grapecity.documents.excel.drawing.*; import java.util.*;
Kotlin
import com.grapecity.documents.excel.* import com.grapecity.documents.excel.drawing.* import java.util.*다음 코드를
다음 코드를 기본 함수에 추가하여 통합 문서 개체를 만듭니다.
Java
Workbook workbook = new Workbook();
Kotlin
var workbook = new Workbook()
데이터 초기화 및 표 만들기
GcExcel에서 데이터를 초기화하려면 2차원 배열을 준비하고 이를 에 할당합니다.
Java
Object[][] sourceData = new Object[][]{ {"ITEM", "AMOUNT"}, {"Income 1", 2500}, {"Income 2", 1000}, {"Income 3", 250}, {"Other", 250}, }; Object[][] sourceData1 = new Object[][]{ {"ITEM", "AMOUNT"}, {"Rent/mortgage", 800}, {"Electricity", 120}, {"Gas", 50}, {"Cell phone", 45}, {"Groceries", 500}, {"Car payment", 273}, {"Auto expenses", 120}, {"Student loans", 50}, {"Credit cards", 100}, {"Auto insurance", 78}, {"Personal care", 50}, {"Entertainment", 100}, {"Miscellaneous", 50}, }; IWorksheet worksheet = workbook.getWorksheets().get(0); worksheet.getRange("B3:C7").setValue(sourceData); worksheet.getRange("B10:C23").setValue(sourceData1); worksheet.setName("Tables"); worksheet.getRange("B2:C2").merge(); worksheet.getRange("B2").setValue("MONTHLY INCOME"); worksheet.getRange("B9:C9").merge(); worksheet.getRange("B9").setValue("MONTHLY EXPENSES"); worksheet.getRange("E2:G2").merge(); worksheet.getRange("E2").setValue("PERCENTAGE OF INCOME SPENT"); worksheet.getRange("E5:G5").merge(); worksheet.getRange("E5").setValue("SUMMARY"); worksheet.getRange("E3:F3").merge(); worksheet.getRange("E9").setValue("BALANCE"); worksheet.getRange("E6").setValue("Total Monthly Income"); worksheet.getRange("E7").setValue("Total Monthly Expenses");
Kotlin
var sourceData = arrayOf( arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("Income 1", 2500), arrayOf<Any>("Income 2", 1000), arrayOf<Any>("Income 3", 250), arrayOf<Any>("Other", 250) ) var sourceData1 = arrayOf( arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT"), arrayOf<Any>("ITEM", "AMOUNT") ) val worksheet: IWorksheet = workbook.getWorksheets().get(0) worksheet.getRange("B3:C7").setValue(sourceData) worksheet.getRange("B10:C23").setValue(sourceData1) worksheet.setName("Tables") worksheet.getRange("B2:C2").merge() worksheet.getRange("B2").setValue("MONTHLY INCOME") worksheet.getRange("B9:C9").merge() worksheet.getRange("B9").setValue("MONTHLY EXPENSES") worksheet.getRange("E2:G2").merge() worksheet.getRange("E2").setValue("PERCENTAGE OF INCOME SPENT") worksheet.getRange("E5:G5").merge() worksheet.getRange("E5").setValue("SUMMARY") worksheet.getRange("E3:F3").merge() worksheet.getRange("E9").setValue("BALANCE") worksheet.getRange("E6").setValue("Total Monthly Income") worksheet.getRange("E7").setValue("Total Monthly Expenses")
표 만들기, 수식 적용, 행 높이 및 열 너비 설정
다음 코드를 추가하여 Income 및 Expenses, , 각 표에 을 적용한 다음, 사용자 정의 이름 *TotalMonthlyIncome* 및 *TotalMonthlyExpenses*, 셀 수식, 행 높이 및 열 너비를 설정합니다.
Java
// Create the first table to show Income ITable incomeTable = worksheet.getTables().add(worksheet.getRange("B3:C7"), true); incomeTable.setName("tblIncome"); incomeTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4")); // Create the second table to show Expenses ITable expensesTable = worksheet.getTables().add(worksheet.getRange("B10:C23"), true); expensesTable.setName("tblExpenses"); expensesTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4")); worksheet.getNames().add("TotalMonthlyIncome", "=SUM(tblIncome[AMOUNT])"); worksheet.getNames().add("TotalMonthlyExpenses", "=SUM(tblExpenses[AMOUNT])"); worksheet.getRange("E3").setFormula("=TotalMonthlyExpenses"); worksheet.getRange("G3").setFormula("=TotalMonthlyExpenses/TotalMonthlyIncome"); worksheet.getRange("G6").setFormula("=TotalMonthlyIncome"); worksheet.getRange("G7").setFormula("=TotalMonthlyExpenses"); worksheet.getRange("G9").setFormula("=TotalMonthlyIncome-TotalMonthlyExpenses"); worksheet.setStandardHeight(26.25); worksheet.setStandardWidth(8.43); worksheet.getRange("2:24").setRowHeight(27); worksheet.getRange("A:A").setColumnWidth(2.855); worksheet.getRange("B:B").setColumnWidth(33.285); worksheet.getRange("C:C").setColumnWidth(25.57); worksheet.getRange("D:D").setColumnWidth(1); worksheet.getRange("E:F").setColumnWidth(25.57); worksheet.getRange("G:G").setColumnWidth(14.285);
Kotlin
// Create the first table to show Income val incomeTable: ITable = worksheet.getTables().add(worksheet.getRange("B3:C7"), true) incomeTable.setName("tblIncome") incomeTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4")) // Create the second table to show Expenses val expensesTable: ITable = worksheet.getTables().add(worksheet.getRange("B10:C23"), true) expensesTable.setName("tblExpenses") expensesTable.setTableStyle(workbook.getTableStyles().get("TableStyleMedium4")) worksheet.getNames().add("TotalMonthlyIncome", "=SUM(tblIncome[AMOUNT])") worksheet.getNames().add("TotalMonthlyExpenses", "=SUM(tblExpenses[AMOUNT])") worksheet.getRange("E3").setFormula("=TotalMonthlyExpenses") worksheet.getRange("G3").setFormula("=TotalMonthlyExpenses/TotalMonthlyIncome") worksheet.getRange("G6").setFormula("=TotalMonthlyIncome") worksheet.getRange("G7").setFormula("=TotalMonthlyExpenses") worksheet.getRange("G9").setFormula("=TotalMonthlyIncome-TotalMonthlyExpenses") worksheet.setStandardHeight(26.25) worksheet.setStandardWidth(8.43) worksheet.getRange("2:24").setRowHeight(27) worksheet.getRange("A:A").setColumnWidth(2.855) worksheet.getRange("B:B").setColumnWidth(33.285) worksheet.getRange("C:C").setColumnWidth(25.57) worksheet.getRange("D:D").setColumnWidth(1) worksheet.getRange("E:F").setColumnWidth(25.57) worksheet.getRange("G:G").setColumnWidth(14.285)
스타일 및 테두리 적용
GcExcel Java API는 각 요소에 직접 범위 스타일의 변경 사항을 적용하거나, 기본 제공된 스타일을 사용하거나, 사용자 정의된 스타일을 사용할 수 있습니다. 사용자 정의된 스타일을 사용하면 초기화할 기본 제공 스타일을 하나 이상 복사합니다. 다음으로 개별 스타일 속성을 설정하여 스타일을 사용자 정의하고 여러 범위의 스타일을 재정의하여 메모리를 최적화할 수 있습니다.
- 이번 예시에서는 기본 제공 Currency, Heading 1, 및 Percent 스타일을 수정하는 방법을 보여 줍니다. 통합 문서에서 해당 기본 제공 스타일을 사용하는 모든 셀에 영향을 미치며, 통합 문서와 함께 .XLSX에 저장됩니다.
Java
IStyle currencyStyle = workbook.getStyles().get("Currency"); currencyStyle.setIncludeAlignment(true); currencyStyle.setHorizontalAlignment(HorizontalAlignment.Left); currencyStyle.setVerticalAlignment(VerticalAlignment.Bottom); currencyStyle.setNumberFormat("$#,##0.00"); IStyle heading1Style = workbook.getStyles().get("Heading 1"); heading1Style.setIncludeAlignment(true); heading1Style.setHorizontalAlignment(HorizontalAlignment.Center); heading1Style.setVerticalAlignment(VerticalAlignment.Center); heading1Style.setIncludeFont(true); heading1Style.getFont().setName("Century Gothic"); heading1Style.getFont().setBold(true); heading1Style.getFont().setSize(11); heading1Style.getFont().setColor(Color.GetWhite()); heading1Style.setIncludeBorder(false); heading1Style.setIncludePatterns(true); heading1Style.getInterior().setColor(Color.FromArgb(255, 32, 61, 64)); IStyle percentStyle = workbook.getStyles().get("Percent"); percentStyle.setIncludeAlignment(true); percentStyle.setHorizontalAlignment(HorizontalAlignment.Center); percentStyle.setIncludeFont(true); percentStyle.getFont().setColor(Color.FromArgb(255, 32, 61, 64)); percentStyle.getFont().setName("Century Gothic"); percentStyle.getFont().setBold(true); percentStyle.getFont().setSize(14); worksheet.getSheetView().setDisplayGridlines(false); worksheet.getRange("C4:C7, C11:C23, G6:G7, G9").setStyle(currencyStyle); worksheet.getRange("B2, B9, E2, E5").setStyle(heading1Style); worksheet.getRange("G3").setStyle(percentStyle); worksheet.getRange("E6:G6").getBorders().get(BordersIndex.EdgeBottom).setLineStyle(BorderLineStyle.Medium); worksheet.getRange("E6:G6").getBorders().get(BordersIndex.EdgeBottom).setColor(Color.FromArgb(255,32, 61, 64)); worksheet.getRange("E7:G7").getBorders().get(BordersIndex.EdgeBottom).setLineStyle(BorderLineStyle.Medium); worksheet.getRange("E7:G7").getBorders().get(BordersIndex.EdgeBottom).setColor(Color.FromArgb(255,32,61,64)); worksheet.getRange("E9:G9").getInterior().setColor(Color.FromArgb(255,32,61,64)); worksheet.getRange("E9:G9").setHorizontalAlignment(HorizontalAlignment.Left); worksheet.getRange("E9:G9").setVerticalAlignment(VerticalAlignment.Center); worksheet.getRange("E9:G9").getFont().setName("Century Gothic"); worksheet.getRange("E9:G9").getFont().setBold(true); worksheet.getRange("E9:G9").getFont().setSize(11); worksheet.getRange("E9:G9").getFont().setColor(Color.GetWhite()); worksheet.getRange("E3:F3").getBorders().setColor(Color.FromArgb(255,32,61,64));
Kotlin
val currencyStyle: IStyle = workbook.styles.get("Currency") currencyStyle.includeAlignment = true currencyStyle.horizontalAlignment = HorizontalAlignment.Left currencyStyle.verticalAlignment = VerticalAlignment.Bottom currencyStyle.numberFormat = "$#,##0.00" val heading1Style: IStyle = workbook.styles.get("Heading 1") heading1Style.includeAlignment = true heading1Style.horizontalAlignment = HorizontalAlignment.Center heading1Style.verticalAlignment = VerticalAlignment.Center heading1Style.includeFont = true heading1Style.font.name = "Century Gothic" heading1Style.font.bold = true heading1Style.font.size = 11.0 heading1Style.font.color = Color.GetWhite() heading1Style.includeBorder = false heading1Style.includePatterns = true heading1Style.interior.color = Color.FromArgb(255, 32, 61, 64) val percentStyle: IStyle = workbook.styles.get("Percent") percentStyle.includeAlignment = true percentStyle.horizontalAlignment = HorizontalAlignment.Center percentStyle.includeFont = true percentStyle.font.color = Color.FromArgb(255, 32, 61, 64) percentStyle.font.name = "Century Gothic" percentStyle.font.bold = true percentStyle.font.size = 14.0 worksheet.getSheetView().setDisplayGridlines(false) worksheet.getRange("C4:C7, C11:C23, G6:G7, G9").style = currencyStyle worksheet.getRange("B2, B9, E2, E5").style = heading1Style worksheet.getRange("G3").style = percentStyle worksheet.getRange("E6:G6").borders.get(BordersIndex.EdgeBottom).lineStyle = BorderLineStyle.Medium worksheet.getRange("E6:G6").borders.get(BordersIndex.EdgeBottom).color = Color.FromArgb(255, 32, 61, 64) worksheet.getRange("E7:G7").borders.get(BordersIndex.EdgeBottom).lineStyle = BorderLineStyle.Medium worksheet.getRange("E7:G7").borders.get(BordersIndex.EdgeBottom).color = Color.FromArgb(255, 32, 61, 64) worksheet.getRange("E9:G9").interior.color = Color.FromArgb(255, 32, 61, 64) worksheet.getRange("E9:G9").horizontalAlignment = HorizontalAlignment.Left worksheet.getRange("E9:G9").verticalAlignment = VerticalAlignment.Center worksheet.getRange("E9:G9").font.name = "Century Gothic" worksheet.getRange("E9:G9").font.bold = true worksheet.getRange("E9:G9").font.size = 11.0 worksheet.getRange("E9:G9").font.color = Color.GetWhite() worksheet.getRange("E3:F3").borders.color = Color.FromArgb(255, 32, 61, 64)
조건부 서식 추가
GcExcel Java API는 모든 유형의 을 지원합니다. 이 예시에는 데이터 막대 규칙을 만들어, 값을 표시하지 않고 지출된 수입의 비율을 보여줍니다.
Java
IDataBar dataBar = worksheet.getRange("E3").getFormatConditions().addDatabar(); dataBar.getMinPoint().setType(ConditionValueTypes.Number); dataBar.getMinPoint().setValue(1); dataBar.getMaxPoint().setType(ConditionValueTypes.Number); dataBar.getMaxPoint().setValue("=TotalMonthlyIncome"); dataBar.setBarFillType(DataBarFillType.Gradient); dataBar.getBarColor().setColor(Color.GetRed()); dataBar.setShowValue(false);
Kotlin
val dataBar: IDataBar = worksheet.getRange("E3").getFormatConditions().addDatabar() dataBar.getMinPoint().setType(ConditionValueTypes.Number) dataBar.getMinPoint().setValue(1) dataBar.getMaxPoint().setType(ConditionValueTypes.Number) dataBar.getMaxPoint().setValue("=TotalMonthlyIncome") dataBar.setBarFillType(DataBarFillType.Gradient) dataBar.getBarColor().setColor(Color.GetRed()) dataBar.setShowValue(false)
피벗 테이블 추가
GcExcel Java API는 복잡한 데이터 분석을 위해 신속한 집계 및 소개를 활성화하는 을 지원합니다. 이번 예시에서는 새 워크시트를 만들고 워크시트에서 일정 범위의 데이터를 참조하는 새 피벗 테이블을 만듭니다.
Java
// add a new worksheet and create a pivot table in it IWorksheet worksheet2 = workbook.getWorksheets().add(); worksheet2.setName("Pivot Table"); sourceData = new Object[][]{ {"Order ID", "Product", "Category", "Amount", "Date", "Country"}, {1, "Carrots", "Vegetables", 4270, new GregorianCalendar(2022, 9, 6), "United States"}, {2, "Broccoli", "Vegetables", 8239, new GregorianCalendar(2022, 8, 7), "United States"}, {3, "Banana", "Fruit", 617, new GregorianCalendar(2022, 10, 18), "United States"}, {4, "Banana", "Fruit", 8384, new GregorianCalendar(2022, 11, 10), "Canada"}, {5, "Beans", "Vegetables", 2626, new GregorianCalendar(2022, 10, 10), "Germany" }, {6, "Orange", "Fruit", 3610, new GregorianCalendar(2022, 11, 11), "United States"}, {7, "Broccoli", "Vegetables", 9062, new GregorianCalendar(2022, 10, 11), "Australia"}, {8, "Banana", "Fruit", 6906, new GregorianCalendar(2022, 10, 16), "New Zealand"}, {9, "Apple", "Fruit", 2417, new GregorianCalendar(2022,11,16), "France"}, {10, "Apple", "Fruit", 7431, new GregorianCalendar(2022, 11, 16), "Canada"}, {11, "Banana", "Fruit", 8250, new GregorianCalendar(2022, 10, 16), "Germany"}, {12, "Broccoli", "Vegetables", 7012, new GregorianCalendar(2022, 10, 18), "United States"}, {13, "Carrots", "Vegetables", 1903, new GregorianCalendar(2022, 11, 20), "Germany"}, {14, "Broccoli", "Vegetables", 2824, new GregorianCalendar(2022, 9, 24), "Canada"}, {15, "Apple", "Fruit", 6946, new GregorianCalendar(2022, 11, 24), "France"}, }; worksheet2.getRange("A1:F16").setValue(sourceData); worksheet2.getRange("A:F").setColumnWidth(15); IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet2.getRange("A1:F16")); IPivotTable pivotTable = worksheet2.getPivotTables().add(pivotCache, worksheet2.getRange("H7"), "pivotTable1");
Kotlin
// add a new worksheet and create a pivot table in it val worksheet2: IWorksheet = workbook.getWorksheets().add() worksheet2.setName("Pivot Table") sourceData = arrayOf( arrayOf("Order ID", "Product", "Category", "Amount", "Date", "Country"), arrayOf(1, "Carrots", "Vegetables", 4270, new GregorianCalendar(2022, 9, 6), "United States"), arrayOf(2, "Broccoli", "Vegetables", 8239, new GregorianCalendar(2022, 8, 7), "United States"), arrayOf(3, "Banana", "Fruit", 617, new GregorianCalendar(2022, 10, 18), "United States"), arrayOf(4, "Banana", "Fruit", 8384, new GregorianCalendar(2022, 11, 10), "Canada"), arrayOf(5, "Beans", "Vegetables", 2626, new GregorianCalendar(2022, 10, 10), "Germany"), arrayOf(6, "Orange", "Fruit", 3610, new GregorianCalendar(2022, 11, 11), "United States"), arrayOf(7, "Broccoli", "Vegetables", 9062, new GregorianCalendar(2022, 10, 11), "Australia"), arrayOf(8, "Banana", "Fruit", 6906, new GregorianCalendar(2022, 10, 16), "New Zealand"), arrayOf(9, "Apple", "Fruit", 2417, new GregorianCalendar(2022,11,16), "France"), arrayOf(10, "Apple", "Fruit", 7431, new GregorianCalendar(2022, 11, 16), "Canada"), arrayOf(11, "Banana", "Fruit", 8250, new GregorianCalendar(2022, 10, 16), "Germany"), arrayOf(12, "Broccoli", "Vegetables", 7012, new GregorianCalendar(2022, 10, 18), "United States"), arrayOf(13, "Carrots", "Vegetables", 1903, new GregorianCalendar(2022, 11, 20), "Germany"), arrayOf(14, "Broccoli", "Vegetables", 2824, new GregorianCalendar(2022, 9, 24), "Canada"), arrayOf(15, "Apple", "Fruit", 6946, new GregorianCalendar(2022, 11, 24), "France") ) worksheet2.getRange("A1:F16").setValue(sourceData) worksheet2.getRange("A:F").setColumnWidth(15) IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet2.getRange("A1:F16")) IPivotTable pivotTable = worksheet2.getPivotTables().add(pivotCache, worksheet2.getRange("H7"), "pivotTable1")
피벗 테이블 레이아웃을 구성하려면 행 필드, 열 필드, 데이터 필드 및 페이지 필드를 지정합니다.
Java
// configure pivot table's fields IPivotField fieldCategory = pivotTable.getPivotFields().get("Category"); fieldCategory.setOrientation(PivotFieldOrientation.RowField); IPivotField fieldProduct = pivotTable.getPivotFields().get("Product"); fieldProduct.setOrientation(PivotFieldOrientation.ColumnField); IPivotField fieldAmount = pivotTable.getPivotFields().get("Amount"); fieldAmount.setOrientation(PivotFieldOrientation.DataField); fieldAmount.setNumberFormat("$#,##0"); IPivotField fieldCountry = pivotTable.getPivotFields().get("Country"); fieldCountry.setOrientation(PivotFieldOrientation.PageField);
Kotlin
// configure pivot table's fields val fieldCategory: IPivotField = pivotTable.getPivotFields().get("Category") fieldCategory.setOrientation(PivotFieldOrientation.RowField) val fieldProduct: IPivotField = pivotTable.getPivotFields().get("Product") fieldProduct.setOrientation(PivotFieldOrientation.ColumnField) val fieldAmount: IPivotField = pivotTable.getPivotFields().get("Amount") fieldAmount.setOrientation(PivotFieldOrientation.DataField) fieldAmount.setNumberFormat("$#,##0") val fieldCountry: IPivotField = pivotTable.getPivotFields().get("Country") fieldCountry.setOrientation(PivotFieldOrientation.PageField)
차트 추가
GcExcel Java API는 다양한 종류의 데이터를 시각화하기 위한 많은 을 지원합니다. 이 예에서는 새 워크시트를 만든 다음, 워크시트에서 일정 범위의 데이터를 참조하는 새 차트를 만듭니다.
Java
// add a new sheet and create a chart in it IWorksheet worksheet3 = workbook.getWorksheets().add(); worksheet3.setName("Chart"); IShape shape = worksheet3.getShapes().addChart(ChartType.ColumnClustered, 300, 10, 300, 300); shape.getChart().getChartTitle().setText("Sales Increases Over Previous Quarter"); worksheet3.getRange("A1:D6").setValue(new Object[][]{ {null, "Q1", "Q2", "Q3"}, {"Belgium", 10, 25, 25}, {"France", -51, -36, 27}, {"Greece", 52, -85, -30}, {"Italy", 22, 65, 65}, {"UK", 23, 69, 69}, }); shape.getChart().getSeriesCollection().add(worksheet3.getRange("A1:D6"), RowCol.Columns, true, true); worksheet3.getRange("B1:D1").setHorizontalAlignment(HorizontalAlignment.Right); worksheet3.getRange("B1:D1").getFont().setBold(true); worksheet3.getRange("B2:D6").setNumberFormat("€#,##0"); IAxis valueAxis = shape.getChart().getAxes().item(AxisType.Value); valueAxis.getTickLabels().setNumberFormat("€#,##0");
Kotlin
// add a new sheet and create a chart in it val worksheet3: IWorksheet = workbook.getWorksheets().add() worksheet3.setName("Chart") val shape: IShape = worksheet3.getShapes().addChart(ChartType.ColumnClustered, 300, 10, 300, 300) shape.getChart().getChartTitle().setText("Sales Increases Over Previous Quarter") worksheet3.getRange("A1:D6").setValue(arrayOf<Array<Any>>( arrayOf<Any>(null, "Q1", "Q2", "Q3"), arrayOf<Any>("Belgium", 10, 25, 25), arrayOf<Any>("France", -51, -36, 27), arrayOf<Any>("Greece", 52, -85, -30), arrayOf<Any>("Italy", 22, 65, 65), arrayOf<Any>("UK", 23, 69, 69) ) shape.getChart().getSeriesCollection().add(worksheet3.getRange("A1:D6"), RowCol.Columns, true, true) worksheet3.getRange("B1:D1").setHorizontalAlignment(HorizontalAlignment.Right) worksheet3.getRange("B1:D1").getFont().setBold(true) worksheet3.getRange("B2:D6").setNumberFormat("€#,##0") val valueAxis: IAxis = shape.getChart().getAxes().item(AxisType.Value) valueAxis.getTickLabels().setNumberFormat("€#,##0")
.XLSX 파일에 결과 저장
변경 사항이 완료된 후, IWorkbook.save 메서드를 사용하여 새 .XLSX 파일에 합니다.
Java
workbook.save("GcExcelFeatures.xlsx");
Kotlin
workbook.save("GcExcelFeatures.xlsx")
프로젝트를 실행하면 프로젝트 폴더에 GcExcelFeatures.XLSX 파일이 생성됩니다.
이번 스터디에서 사용한 샘플을 다운로드하려면
지금 바로 GcExcel Java를 다운로드하여 직접 테스트해 보세요!
댓글목록
등록된 댓글이 없습니다.