A. java免费报表
这些开源的报表主要是看你有什么样的需求来使用!要大量的绘制图表,肯定是用JFreeChart,平常的就用JasperReports就够了!
OpenReports提供基于web的灵活报表解决方案,通过浏览器自动生成动态PDF,XLS,HTMLCSV和Chart报表。利用到的开源技术有Hibernate,Veloctiy,Webwork。
JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。
JFreeReport是一个用来生成报表的Java类库。它为Java应用程序提供一个灵活的打印功能并支持输出到打印机和PDF, Excel, HTML和XHTML, PlainText, XML和CSV文件中。
B. java怎么两个表查询
一个简单的案例
select 表_1.*,表_2.*
from 表_1,表_2
where
表_1.姓名=表_2.性名
and
表_1.性别='男'
and
表_2.字段3>36
多表查询
分类: 主要看看两个表之间有什么联系
user1 主键 id (1对多关系)
item 里面有一个字段 user_id
查询非常简单 只需要user1.user1=item .user_id
C. 用JAVA做出表格效果
在java中 swing包下有table的控件,就想当于EXCEL的表格
D. java表格代码怎么写
java表格就是java swing。
//创建表头
String[] columnNames = { "First Name", "Last Name", "Sport",
"# of Years", "Vegetarian" };
//创建显示数据
Object[][] data = {
{ "Kathy", "Smith", "Snowboarding", new Integer(5),
new Boolean(false) },
{ "John", "Doe", "Rowing", new Integer(3), new Boolean(true) },
{ "Sue", "Black", "Knitting", new Integer(2),
new Boolean(false) },
{ "Jane", "White", "Speed reading", new Integer(20),
new Boolean(true) },
{ "Joe", "Brown", "Pool", new Integer(10), new Boolean(false) } };
/*
* JTable还提供了一个重载的构造方法,传入两个Vector
* JTable(Vector rowData, Vector columnNames)
*
*/
final JTable table = new JTable(data, columnNames);
table.setBackground(Color.YELLOW);
E. java做报表
把数据库中需要的数据处理后做成可视化图表,根据不同需求可以做成不同形式的图表,节省时间,效果比较好,报表软件国外的话水晶报表,SAP公司的商业报表工具,作为SAP“集团”下的报表组件模块。10年事前盛行一时,后被SAP收购。但水晶报表(Crystal Report)在理论上只支持单数据集,对多集的支持依赖于数据库的运算能力(叉乘与联合等或写存储过程),多库一般难以支持。
国内的话FineReport,目前国内报表软件领域发展最成熟也是市场份额最高的。IDC的报告里,17年甚至超过SAP,IBM,在这个细分领域,也是Gartner的BI选型市场指南里唯一推荐的报表工具。零代码开发,类似excel的设计方式,上手简单。尤其数据字典、实际值和显示值等的设计更是切入快速开发的要害,这些放在别的语言和体系下往往要大量代码才能实现且频繁需要的功能放在FineReport里却只是几个操作的事情。移动端报表+可视化大屏。
F. java中如何实现多表查询
使用join on
如 表 A(AID , ANAME) 表B(BID,BNAME,AID(外键参考表A(AID) )
查询语句 select * from A join B on A.AID==B.BID where 条件
如果需要还有其他表的话可以 在A.AID==B.BID 后面加 and 类似的 A.AID==B.BID 主外键约束列
其中 默认 join 是完全匹配 也就说 A表中的在B表中的都存在
如果要左表中的数据都显示用 left join 同理有 right join
G. JAVA 表格操作
我现在刚用的就是jxl的东西。不过,我里面的文件path没有弄好,设了个死的进去啦 package com.jin.comm.share; import java.io.File; import java.util.ArrayList;import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import com.jin.beans.CustomerInfor;public class ExportFile { public void expToXSL(ArrayList datalist, String path)throws Exception{ WritableWorkbook book = Workbook.createWorkbook(new File(path)); // 设置表名 WritableSheet sheet = book.createSheet("客户信息",0); // 生成表格题头 Label labe1 = new Label(0, 0, "编码" ); Label labe2 = new Label(1, 0, "旅行社简称"); Label labe3 = new Label(2, 0, "销售代表"); Label labe4 = new Label(3, 0, "客户级别"); Label labe5 = new Label(4, 0, "合作情况"); Label labe6 = new Label(5, 0, "类型"); Label labe7 = new Label(6, 0, "可信任值"); Label labe8 = new Label(7, 0, "开始合作日期" ); Label labe9 = new Label(8, 0, "终止合作日期"); Label labe10 = new Label(9, 0, "付款方式"); Label labe11 = new Label(10, 0, "旅行社全称"); Label labe12 = new Label(11, 0, "国家/地区"); Label labe13 = new Label(12, 0, "省/直辖市"); Label labe14 = new Label(13, 0, "城市"); Label labe15 = new Label(14, 0, "街道" ); Label labe16 = new Label(15, 0, "邮政编码"); Label labe17 = new Label(16, 0, "电话"); Label labe18 = new Label(17, 0, "传真"); Label labe19 = new Label(18, 0, "电子邮件"); Label labe20 = new Label(19, 0, "web页地址"); Label labe21 = new Label(20, 0, "开户银行"); Label labe22 = new Label(21, 0, "银行账号" ); Label labe23 = new Label(22, 0, "所属机构"); Label labe24 = new Label(23, 0, "所属部门"); Label labe25 = new Label(24, 0, "维护人"); Label labe26 = new Label(25, 0, "维护时间"); Label labe27 = new Label(26, 0, "备注"); //将生成的单元格添加到工作表中 sheet.addCell(labe1); sheet.addCell(labe2); sheet.addCell(labe3); sheet.addCell(labe4); sheet.addCell(labe5); sheet.addCell(labe6); sheet.addCell(labe7); sheet.addCell(labe8); sheet.addCell(labe9); sheet.addCell(labe10); sheet.addCell(labe11); sheet.addCell(labe12); sheet.addCell(labe13); sheet.addCell(labe14); sheet.addCell(labe15); sheet.addCell(labe16); sheet.addCell(labe17); sheet.addCell(labe18); sheet.addCell(labe19); sheet.addCell(labe20); sheet.addCell(labe21); sheet.addCell(labe22); sheet.addCell(labe23); sheet.addCell(labe24); sheet.addCell(labe25); sheet.addCell(labe26); sheet.addCell(labe27); for(int i=1; i<=datalist.size(); i++){ CustomerInfor infor = (CustomerInfor)datalist.get(i-1); Label label1=new Label(0,i,infor.getCode()); Label label2=new Label(1,i,infor.getDepartment()); Label label3=new Label(2,i,infor.getSales()); Label label4=new Label(3,i,infor.getLevel()); Label label5=new Label(4,i,infor.getTecase()); Label label6=new Label(5,i,infor.getTetype()); Label label7=new Label(6,i,infor.getTrust()); Label label8=new Label(7,i,infor.getStarttime()==null ? null : infor.getStarttime().toString()); Label label9=new Label(8,i,infor.getEndtime()==null ? null : infor.getEndtime().toString()); Label label10=new Label(9,i,infor.getPaytype() ); Label label11=new Label(10,i,infor.getFullname() ); Label label12=new Label(11,i,infor.getCountry() ); Label label13=new Label(12,i,infor.getProvince() ); Label label14=new Label(13,i,infor.getLocality() ); Label label15=new Label(14,i,infor.getStreet() ); Label label16=new Label(15,i,infor.getPostal() ); Label label17=new Label(16,i,infor.getPhone() ); Label label18=new Label(17,i,infor.getFax() ); Label label19=new Label(18,i,infor.getEmail() ); Label label20=new Label(19,i,infor.getWebsite() ); Label label21=new Label(20,i,infor.getBankname() ); Label label22=new Label(21,i,infor.getBanknum() ); Label label23=new Label(22,i,infor.getInstitution() ); Label label24=new Label(23,i,infor.getIndepart() ); Label label25=new Label(24,i,infor.getKeepby() ); Label label26=new Label(25,i,infor.getKeepday()==null ? null :infor.getKeepday().toString()); Label label27=new Label(26,i,infor.getComment() ); //将生成的单元格添加到工作表中 sheet.addCell(label1); sheet.addCell(label2); sheet.addCell(label3); sheet.addCell(label4); sheet.addCell(label5); sheet.addCell(label6); sheet.addCell(label7); sheet.addCell(label8); sheet.addCell(label9); sheet.addCell(label10); sheet.addCell(label11); sheet.addCell(label12); sheet.addCell(label13); sheet.addCell(label14); sheet.addCell(label15); sheet.addCell(label16); sheet.addCell(label17); sheet.addCell(label18); sheet.addCell(label19); sheet.addCell(label20); sheet.addCell(label21); sheet.addCell(label22); sheet.addCell(label23); sheet.addCell(label24); sheet.addCell(label25); sheet.addCell(label26); sheet.addCell(label27); } book.write(); book.close(); }
H. java 创建MySQL表
创建一个表UserInfo
有三个字段:id,name和age
id是主键 primary key
name 是字符串型的,长度为20,不为空
age 为int型的,不为空
create table UserInfo(
id int primary key,
name varchar(20) not null,
age int not null
);
I. java画表格
这里问题不是很清楚,你说的表格是什么意思?
--------
| | |
----------
的这种格子?还是HTML之类的markup language,让其他软件产生表格?