网站建设 后端开发软件,东莞阳光网官网手机版,哈尔滨网站推广,站长工具2023最新国产引言
在实际开发里#xff0c;常常存在将 Excel 表格或特定区域转换为图片#xff0c;以便在其他软件中使用的需求。在 Java 开发中#xff0c;借助报表插件能够轻松实现将工作表、任意指定区域以及各种形状类型转换为图片。本文将详细介绍如何使用 Java 达成 Excel 到图片…引言
在实际开发里常常存在将 Excel 表格或特定区域转换为图片以便在其他软件中使用的需求。在 Java 开发中借助报表插件能够轻松实现将工作表、任意指定区域以及各种形状类型转换为图片。本文将详细介绍如何使用 Java 达成 Excel 到图片的转化。
正文
在 Java 中将 Excel 转化为图片
在 Java 里可运用 ImageSaveOptions 类的方法把工作表、区域或形状导出为图片文件。以下是 ImageSaveOptions 类的详细方法
方法工作表区域形状描述ScaleX and ScaleYYesYesYes获取或设置导出图片文件的缩放比例ResolutionYesYesYes获取或设置导出图片文件中 JPEG 文件的 DPIBackgroundColorYesYesYes获取或设置导出图片文件的背景颜色ShowRowHeadingsYesYesNo获取或设置是否在导出的图片文件中显示行标题ShowColumnHeadingsYesYesNo获取或设置是否在导出的图片文件中显示列标题ShowGridlinesYesYesNo获取或设置是否在导出的图片文件中显示网格线GridlineColorYesYesNo获取或设置导出图片文件中网格线的颜色ShowDrawingObjectsYesYesNo获取或设置是否在导出的图片文件中显示绘图对象图表、形状或图片BlackAndWhiteYesYesYes获取或设置是否导出黑白图片
下面介绍分别将工作表、区域和形状转化为图片的方法
1. 将工作表转换为图片
在 Java 中可使用 IWorksheet 接口的 toImage 方法将工作表转换为图片。示例代码如下
// 创建workbook
Workbook workbook new Workbook();
IWorksheet worksheet workbook.getWorksheets().get(0);// 添加数据
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);// 通过ImageSaveOptions把工作表保存为图片
worksheet.toImage(WorksheetToImage_UsingImageSaveOptions.png, options);实现效果如下
2. 将区域转换为图片
在 Java 中可使用 IRange 接口的 toImage 方法将工作表中的特定区域转换为图片。示例代码如下
// 创建workbook
Workbook workbook new Workbook();
IWorksheet worksheet workbook.getWorksheets().get(0);// 添加数据
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));// 直接把区域保存为图片
range.toImage(RangeToImage.png);// 通过 ImageSaveOptions 保存区域为图片
range.toImage(RangeToImage_UsingImageSaveOptions.png, options);实现效果如下
3. 将形状转换为图片
在 Java 中可使用 ImageSaveOptions 方法将形状转化为图片。
将 shape 转换为图片
// 创建workbook
Workbook workbook new Workbook();
IWorksheet worksheet workbook.getWorksheets().get(0);// 添加一个椭圆形状
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);// 通过 ImageSaveOptions 来保存图片
shape.toImage(ShapeToImage_UsingImageSaveOptions.png, options);实现效果如下 将 chart 转换为图片
// 创建workbook
Workbook workbook new Workbook();
IWorksheet worksheet workbook.getWorksheets().get(0);// 准备图表的数据
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);// 设置图表标题
shape.getChart().getChartTitle().getTextFrame().getTextRange().getParagraphs().add(Annual Sales Record);// 保存为图片
shape.toImage(ConvertChartToImage.png);实现效果如下
结论
以上就是关于如何在 Java 中将 Excel 转换为图片的介绍。若想了解更多 Java 的玩法和技巧可参考相关帮助手册无论是初学者还是有经验的专业人士该帮助手册都能提供有价值的指导和帮助 ^^。
文章中使用到的工具GcExcel-Java