使用aspose.cell.*把excel生成图片

时间:2024-03-17 19:34:54

首先要先下载一个aspose.cell.*的包 可以百度去找一下

代码如下

package com.pl.Excel;

import java.io.File;


import com.aspose.cells.*;


/**
 * Excel转PDF
 */
public class ExcelToPdf {


    public static void ConvertToImage() {
        Workbook book=null;
        try {
            book=new Workbook( "E:\\测试.xlsx" );
            String path="E:\\测试.xlsx";
            //获取到sheet
            Worksheet sheet=book.getWorksheets().get( 5 );
            //设置截取范围
            String area=7 + ":" + 31;//这个地方可以选取截取的范围
            System.out.println( "area: " + area );
            sheet.getPageSetup().setPrintArea( area ); // 设置图片数据的边距
            sheet.getPageSetup().setLeftMargin( -20 );//设置左边距
            sheet.getPageSetup().setRightMargin( 0 );//设置右边距
            sheet.getPageSetup().setBottomMargin( 0 );//设置下边距
            sheet.getPageSetup().setTopMargin( 0 );

            // 定义ImageOrPrintOptions
            ImageOrPrintOptions imgOptions=new ImageOrPrintOptions();
            /* 指定图像格式*/
            imgOptions.setImageFormat( ImageFormat.getJpeg() );
            imgOptions.setCellAutoFit( true );
            imgOptions.setOnePagePerSheet( true );
            //imgOptions.setDesiredSize(1000,800);
            // 根据指定的图像/打印选项渲染图纸
            SheetRender render=new SheetRender( sheet, imgOptions );

            // Render the image for the sheet
            //render.toImage(0, dataDir + "SheetImage.jpg");
            render.toImage( 0, "E:\\报表.jpg" );
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    public static void main(String[] args) {
        ConvertToImage();
    }
}