2013-06-26 2 views
1

테이블/ListObject를 이미지로 변환하는 방법은 무엇입니까?Aspose 셀 자바, 테이블/ListObject에서 이미지를 만드는 방법

엑셀 파일에는 테이블, 차트 및 이미지가 있으며 aspose 셀 자바를 사용하고 있습니다. 내 요구 사항은 이러한 모든 세부 사항을 독립적 인 이미지로 얻는 것이고 api는 차트와 도형을 이미지로 변환 할 수 있지만 테이블/ListObject에는 API가 없습니다. 그래서 수있는 사람이 테이블 aspose를 사용하여 이미지로 변환하는 방법을 알고 ListObject

ListObject listObject = worksheet.getListObjects(). 수 (

+0

다른 사람들이 귀하의 질문을 이해할 수 있도록 명확하게 설명하고 좋은 방법으로 설명하십시오. –

+0

OpenOffice API를 사용하여이 작업을 수행 할 수 있다고 생각합니다 (http://www.openoffice.org/api/). – pepuch

+0

나는 그것을 위해서만 aspose를 사용해야합니다. –

답변

2

이 오기 이미지

  1. 에 테이블/ListObject를 변환하는 자바 liberary 호출 0);

  2. 이제이 listObject 만 가지고 새로운 통합 문서를 만듭니다.


public static Workbook createWorkBook(final Worksheet worksheet, final ListObject listObject) throws Exception { 
    Workbook workbook = new Workbook(); 
    Cells cells = workbook.getWorksheets().get(0).getCells(); 

    Cells cellsTobeCopied = worksheet.getCells(); 

    int totalNoOfRows = listObject.getEndRow() - listObject.getStartRow() + 1; 
    int totalNoOfColumns = listObject.getEndColumn() - listObject.getStartColumn() + 1; 

    cells.setStandardHeight(cellsTobeCopied.getStandardHeight()); 
    cells.setStandardWidth(cellsTobeCopied.getStandardWidth()); 

    // Set height of each row as the height of actual rows of table 
    for (int row = 0; row < totalNoOfRows; row++) { 
     cells.setRowHeight(row, cellsTobeCopied.getRowHeight(row)); 
    } 

    // Set width of each column as the width of actual columns of table 
    for (int column = 0; column < totalNoOfColumns; column++) { 
     cells.setColumnWidth(column, cellsTobeCopied.getColumnWidth(column)); 
    } 

    // Copy data of table from worksheet to newly created workbook cells 
    for (int row = 0; row < totalNoOfRows; row++) { 
     for (int column = 0; column < totalNoOfColumns; column++) { 
      Cell copiedFrom = worksheet.getCells().get(listObject.getStartRow() + row, listObject.getStartColumn() + column); 
      Cell copyTo = cells.get(row, column); 

      copyTo.setHtmlString(copiedFrom.getHtmlString()); 
     } 
    } 

    // Create table in newly created workbook 
    ListObjectCollection tables = workbook.getWorksheets().get(0).getListObjects(); 
    tables.add(0, 0, totalNoOfRows - 1, totalNoOfColumns - 1, listObject.getShowHeaderRow()); 

    return workbook; 
} 

  1. 그런


public static void toImage(final Workbook workbook, final String outputFilePath) throws Exception { 
    ImageOrPrintOptions imgOptions = new ImageOrPrintOptions(); 
    imgOptions.setImageFormat(ImageFormat.getPng()); 
    imgOptions.setOnlyArea(true); 

    Worksheet sheet = workbook.getWorksheets().get(0); 
    SheetRender sr = new SheetRender(sheet, imgOptions); 

    for (int j = 0; j < sr.getPageCount(); j++) { 
     sr.toImage(j, outputFilePath); 
    } 
} 

통합 문서가 새로 만든 통합 문서는 그쪽으로 listObject을 가진되어 참으로 재산 'setOnlyArea'과 같은 이미지 옵션을 사용하여 이미지로이 통합 문서 변환 출력 파일 경로는 출력 이미지를 저장할 절대 경로입니다.

링크 : http://iandjava.blogspot.com/2013/07/convert-excel-document-to-images.html 이 링크를 사용하면 Excel과 그 구성 요소를 이미지로 변환 할 수 있습니다.