本文主要是介绍poi获取excel2003图表以及相关属性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
poi获取excel图片的方法是:
List<HSSFPictureData> pictures = workbook.getAllPictures();本以为获取图表的方法应该是类似的。结果在HSSFWorkbook和HSSFSheet中都没有找到。
然后直接在HSSF包中找类文件,发现了图表类HSSFChart,查看HSSFChart的源码,发现了一个方法:
public static HSSFChart[] getSheetCharts(HSSFSheet sheet)
下面就好办了,代码如下:
public static void main(String[] args) throws Exception{File excelFile = new File("e:/a.xls");HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(excelFile));//获取第一个sheetHSSFSheet sheet = workbook.getSheet(workbook.getSheetName(0));//获取sheet的所有图表HSSFChart[] charts = HSSFChart.getSheetCharts(sheet);for (HSSFChart chart : charts) {//poi获取excel图表标题String title = chart.getChartTitle();//poi获取excel图表高度int height = chart.getChartHeight();//poi获取excel图表宽度int width = chart.getChartWidth();//poi获取excel图表横向位置int x = chart.getChartX();//poi获取excel图表纵向位置int y = chart.getChartY();//poi获取excel图表类型HSSFChart.HSSFChartType type = chart.getType();//poi获取excel图表系列HSSFChart.HSSFSeries[] series = chart.getSeries();for (HSSFChart.HSSFSeries se : series) {//poi获取excel图表的值区域CellRangeAddressBase valueRange = se.getValuesCellRange();System.out.println("数据起始列:" + valueRange.getFirstColumn());System.out.println("数据起始行:" + valueRange.getFirstRow());System.out.println("数据结束列:" + valueRange.getLastColumn());System.out.println("数据结束行:" + valueRange.getLastRow());//poi获取excel图表category区域CellRangeAddressBase categoryRange = se.getCategoryLabelsCellRange();System.out.println("名称起始列:" + categoryRange.getFirstColumn());System.out.println("名称起始行:" + categoryRange.getFirstRow());System.out.println("名称结束列:" + categoryRange.getLastColumn());System.out.println("名称结束行:" + categoryRange.getLastRow());}}}
这篇关于poi获取excel2003图表以及相关属性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!