永发信息网

java怎样生成图表啊,如果js可以的话也行

答案:2  悬赏:0  手机版
解决时间 2021-08-18 15:47
  • 提问者网友:听门外雪花风
  • 2021-08-18 10:27
我想做个程序,就是把数据库里的数据查询出来,然后自动生成excel图表,麻烦高手指点下,我数据库用的是mysql.如果有现成代码列好,JS可以实现的话也行!~拜托了!~
最佳答案
  • 五星知识达人网友:鸽屿
  • 2021-08-18 11:33

你需要用到一些中间件


比如:用友CELL,帆软FRDesigner。


建议FRDesigner,比较好用,现在有试用版,生成Excel只需要拖拽数据。你可以用Google搜下他们的网站,然后下载一个安装,另外再看看他们的教学视频,基本上就会用了。

全部回答
  • 1楼网友:你可爱的野爹
  • 2021-08-18 12:45

读数据这个应该不成问题吧,最主要是怎么生成Excel文件

你需要下一个包jxl.jar, 版本jxl-2.6.3.jar,这个好像是最新的

下面是一个生成Excel文件的例子,参考这个例子就可以了

程序代码:sql = "select * from tablename";

  rs = stmt.executeQuery(sql);

  //新建Excel文件

  String filePath=request.getRealPath("aaa.xls");

  File myFilePath=new File(filePath);

  if(!myFilePath.exists())

  myFilePath.createNewFile();

  FileWriter resultFile=new FileWriter(myFilePath);

  PrintWriter myFile=new PrintWriter(resultFile);

  resultFile.close();

  //用JXL向新建的文件中添加内容

  OutputStream outf = new FileOutputStream(filePath);

  jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(outf);

  jxl.write.WritableSheet ws = wwb.createSheet("sheettest", 0);

  int i=0;

  int j=0;

  for (int k = 0; k < rs.getMetaData().getColumnCount(); k++) {

  ws.addCell(new Label(k,0,rs.getMetaData().getColumnName(k+1)));

  }

  while(rs.next()){

  out.println(rs.getMetaData().getColumnCount());

  for (int k = 0; k < rs.getMetaData().getColumnCount(); k++) {

  ws.addCell(new Label(k,j+i+1,rs.getString(k+1)));

  }

  i++;

  }

  wwb.write();

  wwb.close();

  }catch(Exception e){e.printStackTrace();}

  finally{

  rs.close();

  conn.close();

  }

  response.sendRedirect("aaa.xls");

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯