Workbook wb = new Workbook();
int chartRows = 55;
int chartCols = 25;
String[] cellsName = new String[]
{
"A1", "A2", "A3", "A4",
"B1", "B2", "B3", "B4",
"C1", "C2", "C3", "C4",
"D1", "D2", "D3", "D4",
"E1", "E2", "E3", "E4"
};
int[] cellsValue = new int[]
{
67,86,68,91,
44,64,89,48,
46,97,78,60,
43,29,69,26,
24,40,38,25
};
int dataSheetIndex =wb.getWorksheets().add();
Worksheet dataSheet =wb.getWorksheets().get(dataSheetIndex);
String sheetName = "DataSheet";
dataSheet.setName(sheetName);
int size= Array.getLength(cellsName);
for (int i = 0; i < size; i++)
{
String cellName = cellsName[i];
int cellValue = cellsValue[i];
dataSheet.getCells().get(cellName).setValue(cellValue);
}
int WorksheetIndex = wb.getWorksheets().add(SheetType.CHART);
Worksheet chartSheet = wb.getWorksheets().get(WorksheetIndex);
chartSheet.setName("ChartSheet");
int chartSheetIdx = chartSheet.getIndex();
int chIndex = chartSheet.getCharts().add(ChartType.COLUMN, 0, chartRows, 0, chartCols);
var chart=chartSheet.getCharts().get(chIndex);
chart.getNSeries().add(sheetName + "!A1:E1", false);
chart.getNSeries().add(sheetName + "!A2:E2", false);
chart.getNSeries().add(sheetName + "!A3:E3", false);
chart.getNSeries().add(sheetName + "!A4:E4", false);
wb.getWorksheets().setActiveSheetIndex(chartSheetIdx);
wb.getWorksheets().setOleSize(0, chartRows, 0, chartCols);
com.aspose.cells.ImageOrPrintOptions opts= new com.aspose.cells.ImageOrPrintOptions();
opts.setImageFormat(com.aspose.cells.ImageFormat.getPng());
ByteArrayOutputStream imageStream=new ByteArrayOutputStream();
wb.getWorksheets().get(chartSheetIdx).getCharts().get(0).toImage(imageStream, opts);
ByteArrayOutputStream bout=new ByteArrayOutputStream();
wb.save(bout,com.aspose.cells.SaveFormat.EXCEL_97_TO_2003);
Shape oleObject = builder.insertOleObject(
new ByteArrayInputStream(bout.toByteArray()),
"Excel.Sheet",
true,
new ByteArrayInputStream(imageStream.toByteArray())
);
oleObject.setWidth(400);
oleObject.setHeight(300);
ByteArrayOutputStream wordStream = new ByteArrayOutputStream();
doc.save(wordStream, SaveFormat.DOCX);
Through the above code, the exported word document has a histogram but cannot be edited. It should be that the insertOleObject method is used incorrectly. At present, I can only find cases of embedding excel charts into ppt on the official website. In order to achieve my needs, what part of my code needs to be adjusted?