poi 조작 엑셀 사용그림 을 그리다



package com.fujitsu.fb.reporter.subprocess;

import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.*;
import org.apache.poi.ss.usermodel.charts.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**
 * Illustrates how to create a simple scatter chart.
 *
 * @author Roman Kashitsyn
 */
public class ScatterChart
{

 public static void main(String[] args) throws Exception
 {
  Workbook wb = new XSSFWorkbook();
  Sheet sheet = wb.createSheet("Sheet 1");
  final int NUM_OF_ROWS = 3;
  final int NUM_OF_COLUMNS = 10;

  // Create a row and put some cells in it. Rows are 0 based.
  Row row;
  Cell cell;
  for (int rowIndex = 0; rowIndex < NUM_OF_ROWS; rowIndex++)
  {
   row = sheet.createRow((short) rowIndex);
   for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++)
   {
    cell = row.createCell((short) colIndex);
    cell.setCellValue(colIndex * (rowIndex + 1));
   }
  }

  Drawing drawing = sheet.createDrawingPatriarch();
  ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 2, 5, 10, 15);//    

  Chart chart = drawing.createChart(anchor);//    
  ChartLegend legend = chart.getOrCreateLegend();//       
  legend.setPosition(LegendPosition.TOP_RIGHT);//      

  ScatterChartData data = chart.getChartDataFactory().createScatterChartData();//      

  ValueAxis bottomAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.BOTTOM);//  
  ValueAxis leftAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.LEFT);//  
  leftAxis.setCrosses(AxisCrosses.AUTO_ZERO);//      

  ChartDataSource xs = DataSources.fromNumericCellRange(sheet,
    new CellRangeAddress(0, 0, 0, NUM_OF_COLUMNS - 1));
  ChartDataSource ys1 = DataSources.fromNumericCellRange(sheet,
    new CellRangeAddress(1, 1, 0, NUM_OF_COLUMNS - 1));
  ChartDataSource ys2 = DataSources.fromNumericCellRange(sheet,
    new CellRangeAddress(2, 2, 0, NUM_OF_COLUMNS - 1));

  data.addSerie(xs, ys1);
  data.addSerie(xs, ys2);

  chart.plot(data, bottomAxis, leftAxis);

  String excelPath = "E:\\poi\\ooxml-scatter-chart.xlsx";

  // Write the output to a file
  FileOutputStream fileOut = new FileOutputStream(excelPath);
  wb.write(fileOut);
  fileOut.close();

  System.out.println("----Excle     ------");
 }
}

좋은 웹페이지 즐겨찾기