可以用FineReport報表軟件實現(xiàn)。finereport是純java軟件,類excel設計模式,是一款功能極其牛掰的表格工具,可與數(shù)據(jù)庫直接對接(一般的數(shù)據(jù)庫,Oracle,SqlServer,MySql,DB2,Sybase,Informix等都支持),文本數(shù)據(jù)直接導入當然也支持,企業(yè)級額應用中包括設置定時報表、自定匯總數(shù)據(jù)發(fā)送郵件、報表權(quán)限分配、決策平臺搭建等,因為是專業(yè)的報表軟件,功能很強大,其實很多業(yè)內(nèi)人士都在用這款軟件,另外幾乎不用自己編寫代碼,所以新手很容易上手使用。應該會比較適合您的,滿意的話可以采納的哦,謝謝了
創(chuàng)新互聯(lián)公司長期為千余家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為桃江企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站設計,桃江網(wǎng)站改版等技術(shù)服務。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
樓主,這個可是我誰不著起來花了半個小時想的算法哈,多給分
我沒有用對象,用了String[] 數(shù)組來模擬你的集合中的表格數(shù)據(jù)
親測通過
代碼開始了
//--------------------------------------------------------------------------------------------------------------------
import java.util.ArrayList;import java.util.List;
public class test {
ListListString[] all=new ArrayListListString[]();
List list=new ArrayList();
//測試數(shù)據(jù)
String[] x={"A","xxxxx","A幣","100"};
String[] x1={"A","xxxxx","A幣","200",};
String[] x2={"B","xxxxx","B幣","300"};
String[] x3={"A","xxxxx","c幣","200"};
public List init()//初始化
{
list.add(x);
list.add(x1);
list.add(x2);
list.add(x3);
return list;
}
//篩選方法
public List chose(List te)
{
ListString[] temp=new ArrayListString[]();
String [] A=(String[]) te.get(0);
ListString[] l=new ArrayListString[]();
for (int j = 0; j te.size(); j++) {
String [] B=(String[]) te.get(j);
if(A[0]==B[0]A[2]==B[2] )//這里篩選
l.add(B);
else
temp.add(B);
}
all.add(l);
return temp;
}
//返回所得結(jié)果
public ListListString[] result(){
return all;
}
//主方法---------------------------------------------
public static void main(String[] args) {
test t=new test();
List nt=t.chose(t.init());//初始化測試數(shù)據(jù)
while(true)
{
nt=t.chose(nt);
if(nt.size()==0)
break;
}
ListListString[] res=t.result();
//打印結(jié)果
for (int e = 0; e res.size(); e++) {
ListString[] fi= res.get(e);
System.out.println("第"+e+"種");
String [] str=fi.get(0);
for(int i=0;ifi.size();i++){
String[] o=(String[]) fi.get(i);
if(i!=0){
str[3]=(Integer.parseInt(str[3])+Integer.parseInt(o[3]))+"";
}
System.out.println(o[0].toString()+"---"+o[1].toString()+"---"+o[2].toString()+"---"+o[3].toString());
}
System.out.println("合計:\n"+str[0].toString()+"---"+str[2].toString()+"---"+str[3].toString()+"---"+fi.size());
}
}
}
//------------------------------------------------------------------------------
代碼結(jié)束咯
打印的結(jié)果
第0種
A---xxxxx---A幣---100
A---xxxxx---A幣---200
合計:
A---A幣---400---2
第1種
B---xxxxx---B幣---300
合計:
B---B幣---300---1
第2種
A---xxxxx---c幣---200
合計:
A---c幣---200---1
不知道你是不想要這樣的結(jié)果啊,只需修改字符串長度就可以用了
動態(tài)創(chuàng)建表格,比如:str你從數(shù)據(jù)庫讀出列名,data數(shù)據(jù)集
這里的data是一個二維數(shù)組,
就像
{{學號:001,出生:09-01,成績99}
{學號:001,出生:09-01,成績99}
{學號:001,出生:09-01,成績99}}
生成表格
學號 出生日期 成績
001 09-01 99
001 09-01 98
001 09-01 99
java表格就是java swing。
//創(chuàng)建表頭
String[] columnNames = { "First Name", "Last Name", "Sport",
"# of Years", "Vegetarian" };
//創(chuàng)建顯示數(shù)據(jù)
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還提供了一個重載的構(gòu)造方法,傳入兩個Vector
* JTable(Vector rowData, Vector columnNames)
*
*/
final JTable table = new JTable(data, columnNames);
table.setBackground(Color.YELLOW);
網(wǎng)站欄目:java商品表格代碼 javaswing精美表格
文章路徑:http://sd-ha.com/article24/dojsjce.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供、ChatGPT、定制開發(fā)、企業(yè)網(wǎng)站制作、網(wǎng)站建設、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)