pom:
poi:用于操作Excel
jfreechart:用于生产图表图片
实例:
/**
* 生成图表图片,并填充到xls文件
*/
@Test
public void test() {
try {
// 第一步,使用JFreeChart生成折线图的图片
// 图表标题、图表x轴名称、图表y轴名称
String title = "月发电量";
String categoryAxisLabel = "时间";
String valueAxisLabel = "发电量";
String[] titles = new String[] { title, categoryAxisLabel, valueAxisLabel };
// y轴数据类别
String[] rowKeys = { "6000001", "6000002", "6000003" };
// x轴的分类
String[] colKeys = { "1月", "2月", "3月" };
// 数据值
double[][] data = { { 120, 200, 150 }, { 230, 200, 235 }, { 100, 200, 300 } };
byte[] bytes = LineChartImg.getBytes(titles, 400, 200, rowKeys, colKeys, data);
// 第二步,使用POI将图片放入excel文件
String excel = "F:/Users/zyj/Desktop/2019-09-27 自由报表/插件测试/生成的报表.xls";
// 图片位置,八个参数,前四个表示图片离起始单元格和结束单元格边缘的位置,后四个表示起始和结束单元格的位置;
// 示例{0,0,0,0,2,1,12,15}表示从第2列到第12列,从第1行到第15行,单元格内部的边距都是0
int[] anchors = new int[] { 0, 0, 0, 0, 2, 1, 12, 15 };
XlsHelper.addPicture(excel, 0, anchors, bytes);
} catch (Exception e) {
System.out.print(e);
}
}