-
利用POI和Excel VBA创建图表
资源介绍
项目中想实现excel图表但POI不支持所以想到了这个方法。放上来抛砖引玉,感兴趣的欢迎大家交流
注:--------------------------------------------------------------------------
其实现原理和利用JavaScript实现客户端绘图完全一样。后台代码将输入
写入特定区域,前端脚本在页面载入时执行脚本绘图。大家都是做B/S开发
的,这方面的只是不需要我多说了吧。
如果我们让一个HTML页面在载入时显示一个提示框用后台编程是不现实的
所以我们就动态生成一段JS:
window.onload=function(){
......
}
用Java输出图表的场景和这个一样,POI、JXL对操作Excel图表无能为力
但Excel支持脚本的,也有工作表载入事件,所以也可以用同样的原理实现
只不过这次客户端不再是浏览器而是Excel应用程序。
这样交代的应该比较明白了吧,请不要再留言抱怨没有Java代码了,因为
这根本跟java代码没多大关系,后台的代码所做的工作仅仅是写入必要的
数据,数据的解析和绘图操作是在VBA中完成的
---2009-12-18
今天查找资料翻出来了这段代码,发现里边的类确实是空的,我说怎么总挨骂
呢,当时肯定打包的时候晕透了把另一个本该删除的类打包进去了。我无法
替换文件只能把java代码贴上来了,请自己修改模板文件的路径。
package com.test.poi;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class PoiChart {
public static void main(String[] args){
try{
POIFSFileSystem fs=new POIFSFileSystem(new FileInputStream("E:/王建波_bak/我的练习/Module.xls"));
HSSFWorkbook wb=new HSSFWorkbook(fs);
HSSFSheet sheet=wb.getSheetAt(0);
HSSFRow row;
//写入表头
String[] aTblHeaders=new String[]{
"姓名","语文","数学","英语"
};
row=sheet.createRow(0);
for(int i=0,len=aTblHeaders.length;i
- 上一篇: java动态导出PDF文件(含jar包)
- 下一篇: FusionCharts统计图导出为图片或pdf