最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)Excel轉(zhuǎn)化為圖片的代碼詳解

 更新時(shí)間:2025年08月04日 09:16:24   作者:葡萄城技術(shù)團(tuán)隊(duì)  
在實(shí)際開發(fā)里,常常存在將Excel表格或特定區(qū)域轉(zhuǎn)換為圖片,以便在其他軟件中使用的需求,在Java開發(fā)中,借助報(bào)表插件能夠輕松實(shí)現(xiàn)將工作表、任意指定區(qū)域以及各種形狀類型轉(zhuǎn)換為圖片,本文將詳細(xì)介紹如何使用Java達(dá)成Excel到圖片的轉(zhuǎn)化,需要的朋友可以參考下

引言

在實(shí)際開發(fā)里,常常存在將 Excel 表格或特定區(qū)域轉(zhuǎn)換為圖片,以便在其他軟件中使用的需求。在 Java 開發(fā)中,借助報(bào)表插件能夠輕松實(shí)現(xiàn)將工作表、任意指定區(qū)域以及各種形狀類型轉(zhuǎn)換為圖片。本文將詳細(xì)介紹如何使用 Java 達(dá)成 Excel 到圖片的轉(zhuǎn)化。

正文

在 Java 中將 Excel 轉(zhuǎn)化為圖片

在Java里,可運(yùn)用 ImageSaveOptions 類的方法把工作表、區(qū)域或形狀導(dǎo)出為圖片文件。以下是 ImageSaveOptions 類的詳細(xì)方法:

方法工作表區(qū)域形狀描述
ScaleX and ScaleYYesYesYes獲取或設(shè)置導(dǎo)出圖片文件的縮放比例
ResolutionYesYesYes獲取或設(shè)置導(dǎo)出圖片文件中 JPEG 文件的 DPI
BackgroundColorYesYesYes獲取或設(shè)置導(dǎo)出圖片文件的背景顏色
ShowRowHeadingsYesYesNo獲取或設(shè)置是否在導(dǎo)出的圖片文件中顯示行標(biāo)題
ShowColumnHeadingsYesYesNo獲取或設(shè)置是否在導(dǎo)出的圖片文件中顯示列標(biāo)題
ShowGridlinesYesYesNo獲取或設(shè)置是否在導(dǎo)出的圖片文件中顯示網(wǎng)格線
GridlineColorYesYesNo獲取或設(shè)置導(dǎo)出圖片文件中網(wǎng)格線的顏色
ShowDrawingObjectsYesYesNo獲取或設(shè)置是否在導(dǎo)出的圖片文件中顯示繪圖對(duì)象(圖表、形狀或圖片)
BlackAndWhiteYesYesYes獲取或設(shè)置是否導(dǎo)出黑白圖片

下面介紹分別將工作表、區(qū)域和形狀轉(zhuǎn)化為圖片的方法:

1. 將工作表轉(zhuǎn)換為圖片

在 Java 中,可使用 IWorksheet 接口的 toImage 方法將工作表轉(zhuǎn)換為圖片。示例代碼如下:

// 創(chuàng)建workbook
Workbook workbook = new Workbook();
IWorksheet worksheet = workbook.getWorksheets().get(0);

// 添加數(shù)據(jù)
worksheet.getRange("A1").setValue("Sales Report");
worksheet.getRange("A1").getFont().setColor(Color.FromArgb(56, 93, 171));
worksheet.getRange("A1").getFont().setSize(24);
worksheet.getRange("A1").getFont().setBold(true);
worksheet.getRange("A3:E7")
    .setValue(new Object[][] { { "Date", "Product", "Customer", "Amount", "Show" },
        { "1/1/2021", "Bose 785593-0050", "Fabrikam, Inc.", "$1,886.00", "1" },
        { "1/3/2021", "Canon EOS 1500D", "Alpine Ski House", "$4,022.00", "" },
        { "1/4/2021", "Haier 394L 4Star", "Coho Winery", "$8,144.00", "" },
        { "1/7/2021", "IFB 6.5 Kg FullyAuto", "Southridge Video", "$8,002.00", "1" } });
// 初始化 ImageSaveOptions 并且配置屬性
ImageSaveOptions options = new ImageSaveOptions();
options.setScaleX(3.0);
options.setScaleY(2.0);
options.setShowRowHeadings(true);
options.setShowColumnHeadings(false);
options.setShowDrawingObjects(true);
options.setBackgroundColor(Color.FromArgb(226, 231, 243));
options.setShowGridlines(true);
options.setGridlineColor(Color.FromArgb(145, 167, 214));

// 直接把工作表保存為圖片
worksheet.toImage("WorksheetToImage.png");

// 通過(guò)ImageSaveOptions把工作表保存為圖片
worksheet.toImage("WorksheetToImage_UsingImageSaveOptions.png", options);

實(shí)現(xiàn)效果如下:

2. 將區(qū)域轉(zhuǎn)換為圖片

在 Java 中,可使用 IRange 接口的 toImage 方法將工作表中的特定區(qū)域轉(zhuǎn)換為圖片。示例代碼如下:

// 創(chuàng)建workbook
Workbook workbook = new Workbook();
IWorksheet worksheet = workbook.getWorksheets().get(0);

// 添加數(shù)據(jù)
worksheet.getRange("D10:F10").setValue(new String[] { "Device", "Quantity", "Unit Price" });
worksheet.getRange("D11:F14").setValue(new Object[][] { { "T540p", 12, 9850 }, { "T570", 5, 7460 },
    { "Y460", 6, 5400 }, { "Y460F", 8, 6240 } });

IRange range = worksheet.getRange("D10:F14");

// 初始化 ImageSaveOptions 并且配置屬性
ImageSaveOptions options = new ImageSaveOptions();
options.setScaleX(3.0);
options.setScaleY(2.0);
options.setShowRowHeadings(true);
options.setShowColumnHeadings(false);
options.setShowDrawingObjects(true);
options.setBackgroundColor(Color.FromArgb(226, 231, 243));
options.setShowGridlines(true);
options.setGridlineColor(Color.FromArgb(145, 167, 214));

// 直接把區(qū)域保存為圖片
range.toImage("RangeToImage.png");

// 通過(guò) ImageSaveOptions 保存區(qū)域?yàn)閳D片
range.toImage("RangeToImage_UsingImageSaveOptions.png", options);

實(shí)現(xiàn)效果如下:

3. 將形狀轉(zhuǎn)換為圖片

在 Java 中,可使用 ImageSaveOptions 方法將形狀轉(zhuǎn)化為圖片。

  • 將 shape 轉(zhuǎn)換為圖片
// 創(chuàng)建workbook
Workbook workbook = new Workbook();
IWorksheet worksheet = workbook.getWorksheets().get(0);

// 添加一個(gè)橢圓形狀
IShape shape = worksheet.getShapes().addShape(AutoShapeType.Oval, 20, 20, 200, 100);

// 初始化 ImageSaveOptions 并且配置屬性
ImageSaveOptions options = new ImageSaveOptions();
options.setScaleX(3.0);
options.setScaleY(2.0);
options.setBackgroundColor(Color.GetLimeGreen());

// 直接保存為形狀
shape.toImage("ShapeToImage.png");

// 通過(guò) ImageSaveOptions 來(lái)保存圖片
shape.toImage("ShapeToImage_UsingImageSaveOptions.png", options);

實(shí)現(xiàn)效果如下:

  • 將 chart 轉(zhuǎn)換為圖片
// 創(chuàng)建workbook
Workbook workbook = new Workbook();
IWorksheet worksheet = workbook.getWorksheets().get(0);

// 準(zhǔn)備圖表的數(shù)據(jù)
worksheet.getRange("A1:D4")
    .setValue(new Object[][] { { null, "Q1", "Q2", "Q3" }, { "Mobile Phones", 1330, 2345, 3493 },
        { "Laptops", 2032, 3632, 2197 }, { "Tablets", 6233, 3270, 2030 } });

worksheet.getRange("A:D").getColumns().autoFit();

// 增加面積圖
IShape shape = worksheet.getShapes().addChart(ChartType.Area, 250, 20, 360, 230);

// 給SeriesCollection添加系列
shape.getChart().getSeriesCollection().add(worksheet.getRange("A1:D4"), RowCol.Columns, true, true);

// 設(shè)置圖表標(biāo)題
shape.getChart().getChartTitle().getTextFrame().getTextRange().getParagraphs().add("Annual Sales Record");

// 保存為圖片
shape.toImage("ConvertChartToImage.png");

實(shí)現(xiàn)效果如下:

結(jié)論

到此這篇關(guān)于Java實(shí)現(xiàn)Excel轉(zhuǎn)化為圖片的代碼詳解的文章就介紹到這了,更多相關(guān)Java Excel轉(zhuǎn)圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot項(xiàng)目啟動(dòng)后再請(qǐng)求遠(yuǎn)程接口的解決方式

    SpringBoot項(xiàng)目啟動(dòng)后再請(qǐng)求遠(yuǎn)程接口的解決方式

    Spring?Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化Spring應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署等,這篇文章主要介紹了SpringBoot項(xiàng)目啟動(dòng)后再請(qǐng)求遠(yuǎn)程接口的實(shí)現(xiàn)方式?,需要的朋友可以參考下
    2023-02-02
  • Springboot整合Swagger2和Swagger3全過(guò)程

    Springboot整合Swagger2和Swagger3全過(guò)程

    這篇文章主要介紹了Springboot整合Swagger2和Swagger3全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • springboot 多模塊將dao(mybatis)項(xiàng)目拆分出去

    springboot 多模塊將dao(mybatis)項(xiàng)目拆分出去

    這篇文章主要介紹了springboot 多模塊將dao(mybatis)項(xiàng)目拆分出去,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • java實(shí)現(xiàn)雙層圣誕樹加修飾代碼示例

    java實(shí)現(xiàn)雙層圣誕樹加修飾代碼示例

    大家好,本篇文章主要講的是java實(shí)現(xiàn)雙層圣誕樹加修飾代碼示例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Java?Optional的使用技巧與最佳實(shí)踐

    Java?Optional的使用技巧與最佳實(shí)踐

    在?Java?中,Optional?是用于優(yōu)雅處理?null?的容器類,其核心目標(biāo)是?顯式提醒開發(fā)者處理空值場(chǎng)景,避免?NullPointerException,本文給大家介紹Java?Optional的使用技巧,感興趣的朋友一起看看吧
    2025-04-04
  • Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法

    Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法

    這篇文章主要介紹了Mybatis返回int或者Integer類型報(bào)錯(cuò)的解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-12-12
  • java通過(guò)控制鼠標(biāo)實(shí)現(xiàn)屏幕廣播的方法

    java通過(guò)控制鼠標(biāo)實(shí)現(xiàn)屏幕廣播的方法

    這篇文章主要介紹了java通過(guò)控制鼠標(biāo)實(shí)現(xiàn)屏幕廣播的方法,針對(duì)前面一篇Java屏幕共享功能進(jìn)行了改進(jìn),實(shí)現(xiàn)了鼠標(biāo)控制功能,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • 解決SpringCloud Gateway配置自定義路由404的坑

    解決SpringCloud Gateway配置自定義路由404的坑

    這篇文章主要介紹了解決SpringCloud Gateway配置自定義路由404的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • JDK從8升級(jí)到21的問(wèn)題集(附案例代碼)

    JDK從8升級(jí)到21的問(wèn)題集(附案例代碼)

    JDK 8升級(jí)到JDK 21是一個(gè)重要的版本遷移,涉及語(yǔ)法、模塊化、API變更等多方面調(diào)整,這篇文章主要介紹了JDK從8升級(jí)到21問(wèn)題的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-09-09
  • 詳解JAVA動(dòng)態(tài)代理

    詳解JAVA動(dòng)態(tài)代理

    這篇文章主要介紹了JAVA動(dòng)態(tài)代理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

沁水县| 略阳县| 乌兰县| 广汉市| 郑州市| 苏尼特右旗| 望奎县| 志丹县| 乐陵市| 白河县| 榆树市| 博罗县| 奇台县| 荆州市| 同心县| 玛曲县| 凉城县| 芮城县| 崇仁县| 定西市| 兰溪市| 光泽县| 团风县| 凌云县| 贡觉县| 神木县| 巨野县| 沁阳市| 梧州市| 大悟县| 平舆县| 镇平县| 卫辉市| 闽清县| 海盐县| 虹口区| 翁牛特旗| 保亭| 新和县| 剑川县| 远安县|