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

java實(shí)現(xiàn)Excel轉(zhuǎn)換為圖片

 更新時(shí)間:2023年10月08日 12:00:08   作者:葡萄城技術(shù)團(tuán)隊(duì)  
在實(shí)際開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)有這樣的需求,需要將Excel表格或特定區(qū)域轉(zhuǎn)換為圖片,所以小編今天就來(lái)為大家介紹一下如何使用Java將Excel轉(zhuǎn)化為圖片吧

前言

在實(shí)際開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)有這樣的需求:將Excel表格或特定區(qū)域轉(zhuǎn)換為圖片,以便在其他軟件中使用。而在Java開(kāi)發(fā)中,借助于報(bào)表插件可以輕松地將工作表、任意指定區(qū)域以及各種形狀類(lèi)型轉(zhuǎn)換為圖片。今天小編為大家介紹如何使用Java將Excel轉(zhuǎn)化為圖片。

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

在Java中可以使用ImageSaveOptions類(lèi)中的方法將工作表、區(qū)域或形狀導(dǎo)出為圖片文件。

以下是 ImageSaveOptions類(lèi)的詳細(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)格線(xiàn)
GridlineColorYesYesNo獲取或設(shè)置導(dǎo)出圖片文件中網(wǎng)格線(xiàn)的顏色
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)化為圖片。

3.1將 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)效果如下圖所示:

3.2將 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)效果如下圖所示:

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

相關(guān)文章

  • java實(shí)現(xiàn)List中對(duì)象排序的方法

    java實(shí)現(xiàn)List中對(duì)象排序的方法

    這篇文章主要介紹了java實(shí)現(xiàn)List中對(duì)象排序的方法,涉及Java中的遍歷與對(duì)象操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • JAVA多線(xiàn)程中join()方法的使用方法

    JAVA多線(xiàn)程中join()方法的使用方法

    雖然關(guān)于討論線(xiàn)程join()方法的博客已經(jīng)非常極其特別多了,但是前幾天我有一個(gè)困惑卻沒(méi)有能夠得到詳細(xì)解釋?zhuān)?dāng)系統(tǒng)中正在運(yùn)行多個(gè)線(xiàn)程時(shí),join()到底是暫停了哪些線(xiàn)程,所以本文詳細(xì)解釋一下希望能幫助到和我有相同困惑的同學(xué)
    2021-05-05
  • Spring security BCryptPasswordEncoder密碼驗(yàn)證原理詳解

    Spring security BCryptPasswordEncoder密碼驗(yàn)證原理詳解

    這篇文章主要介紹了Spring security BCryptPasswordEncoder密碼驗(yàn)證原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • SpringBoot使用Flyway進(jìn)行數(shù)據(jù)庫(kù)管理的操作方法

    SpringBoot使用Flyway進(jìn)行數(shù)據(jù)庫(kù)管理的操作方法

    Flyway是一個(gè)開(kāi)源的數(shù)據(jù)庫(kù)版本管理工具,并且極力主張“約定大于配置”,簡(jiǎn)單、專(zhuān)注、強(qiáng)大。接下來(lái)通過(guò)本文給大家介紹SpringBoot使用Flyway進(jìn)行數(shù)據(jù)庫(kù)管理的方法,感興趣的朋友一起看看吧
    2021-09-09
  • springsecurity?登錄認(rèn)證流程分析一(ajax)

    springsecurity?登錄認(rèn)證流程分析一(ajax)

    這篇文章主要介紹了springsecurity?登錄認(rèn)證一(ajax篇),本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Java中的注解詳解(Annotation)

    Java中的注解詳解(Annotation)

    文章介紹了Java中的注解,包括注解的定義、元注解、Java內(nèi)置的三大注解、自定義注解、反射注解以及注解的作用,注解是一種特殊的標(biāo)記,可以用于類(lèi)、方法、字段等元素,用于提供元數(shù)據(jù)信息
    2025-03-03
  • 簡(jiǎn)單幾步實(shí)現(xiàn)將Spring security4.x升級(jí)到5.x

    簡(jiǎn)單幾步實(shí)現(xiàn)將Spring security4.x升級(jí)到5.x

    這篇文章主要介紹了簡(jiǎn)單幾步實(shí)現(xiàn)將Spring security4.x升級(jí)到5.x方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java軟件設(shè)計(jì)模式之適配器模式詳解

    Java軟件設(shè)計(jì)模式之適配器模式詳解

    這篇文章主要介紹了Java軟件設(shè)計(jì)模式之適配器模式詳解,適配器模式可分為對(duì)象適配器和類(lèi)適配器兩種,在對(duì)象適配器模式中,適配器與適配者之間是關(guān)聯(lián)關(guān)系;在類(lèi)適配器模式中,適配器與適配者之間是繼承(或?qū)崿F(xiàn))關(guān)系,需要的朋友可以參考下
    2023-07-07
  • java開(kāi)發(fā)模式的深度研究

    java開(kāi)發(fā)模式的深度研究

    下面小編就為大家?guī)?lái)一篇深入理解java工廠模式。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-07-07
  • java多態(tài)性中的Overload和Override區(qū)別詳解

    java多態(tài)性中的Overload和Override區(qū)別詳解

    這篇文章主要介紹了java多態(tài)性中的Overload和Override區(qū)別詳解,重寫(xiě)(Overriding)是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),而重載(Overloading)是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn),需要的朋友可以參考下
    2023-07-07

最新評(píng)論

通海县| 咸阳市| 开阳县| 诸暨市| 凤阳县| 阳山县| 马山县| 砚山县| 都江堰市| 桃江县| 镇沅| 文安县| 江山市| 阿尔山市| 东辽县| 武安市| 太白县| 昂仁县| 兴安县| 乌兰察布市| 济南市| 资溪县| 贵州省| 泰兴市| 琼结县| 无锡市| 马关县| 塘沽区| 理塘县| 东港市| 砚山县| 静宁县| 昌邑市| 老河口市| 托克逊县| 额济纳旗| 松原市| 金秀| 滦平县| 休宁县| 铜陵市|