java中将Excel转图片

   JAVA中将Excel转为图片,现在比较好的方式可以使用aspose来处理

  aspose是个比较好用插件,可以将Excel,PDF,Word互相转换,也可以转为图片,下面是使用破解版的aspose将Excel转为图片的代码,

需要用到的jar包: aspose-cells-18.9.jar

 

/**
     * 校验license
     */
    private boolean getLicense(){
        boolean result = false;
        //获取当前线程的类加载器
        ClassLoader loader = Thread.currentThread().getContextClassLoader();
        try {
            //获取凭证文件的路径并读取到license
            license = new FileInputStream(loader.getResource("license.xml").getPath());
            //读取excel
            fis = new FileInputStream(loader.getResource("test.xlsx").getPath());
            License aspose = new License();
            aspose.setLicense(license);
            result = true;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        return result;
    }

导包:import com.aspose.cells.ImageOrPrintOptions;
        import com.aspose.cells.License;
        import com.aspose.cells.SheetRender;
        import com.aspose.cells.Workbook;
        import com.aspose.cells.Worksheet;

 

  /**
     * aspose转换excel
     * @throws Exception 
     */
    private void transitionExcel() throws Exception{
        if(!getLicense()){
            throw new Exception();
        }
        
        //用于存储excel转换的图片
        File pngFile = new File("D:\\image\\excel.png");
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(pngFile);
            
            //使用aspose读取excel
            Workbook wb = new Workbook(new FileInputStream("D:\\excel\\test.xlsx"));
            Worksheet sheet = wb.getWorksheets().get(0);
            
            //获取图片写入对象
            ImageOrPrintOptions imgOption = new ImageOrPrintOptions();
            //imgOption.setImageFormat(ImageFormat.getJpeg());
            imgOption.setCellAutoFit(true);
            imgOption.setOnePagePerSheet(true);
            imgOption.setDefaultFont("200");
            //将sheet写入到图片对象中
            SheetRender render = new SheetRender(sheet, imgOption);
            //将图片写入到输出文件中
            render.toImage(0, fos);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                //关闭流
                fis.close();
                fos.flush();
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        
        return pngFile;
    }

 

发布了21 篇原创文章 · 获赞 1 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览