把數(shù)據(jù)庫中需要的數(shù)據(jù)處理后做成可視化圖表,根據(jù)不同需求可以做成不同形式的圖表,節(jié)省時間,效果比較好,報表軟件國外的話水晶報表,SAP公司的商業(yè)報表工具,作為SAP“集團”下的報表組件模塊。10年事前盛行一時,后被SAP收購。但水晶報表(Crystal Report)在理論上只支持單數(shù)據(jù)集,對多集的支持依賴于數(shù)據(jù)庫的運算能力(叉乘與聯(lián)合等或?qū)懘鎯^程),多庫一般難以支持。
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供達川企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、成都網(wǎng)站制作、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為達川眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。
國內(nèi)的話FineReport,目前國內(nèi)報表軟件領(lǐng)域發(fā)展最成熟也是市場份額最高的。IDC的報告里,17年甚至超過SAP,IBM,在這個細(xì)分領(lǐng)域,也是Gartner的BI選型市場指南里唯一推薦的報表工具。零代碼開發(fā),類似excel的設(shè)計方式,上手簡單。尤其數(shù)據(jù)字典、實際值和顯示值等的設(shè)計更是切入快速開發(fā)的要害,這些放在別的語言和體系下往往要大量代碼才能實現(xiàn)且頻繁需要的功能放在FineReport里卻只是幾個操作的事情。移動端報表+可視化大屏。
就是使用poi工具,你自己去下載poi.jar吧。
public class CreateXL
{
public static String xlsFile="test.xls"; //產(chǎn)生的Excel文件的名稱
public static void main(String args[])
{
try
{
HSSFWorkbook workbook = new HSSFWorkbook(); //產(chǎn)生工作簿對象
HSSFSheet sheet = workbook.createSheet(); //產(chǎn)生工作表對象
//設(shè)置第一個工作表的名稱為firstSheet
//為了工作表能支持中文,設(shè)置字符編碼為UTF_16
workbook.setSheetName(0,"firstSheet",HSSFWorkbook.ENCODING_UTF_16);
//產(chǎn)生一行
HSSFRow row = sheet.createRow((short)0);
//產(chǎn)生第一個單元格
HSSFCell cell = row.createCell((short) 0);
//設(shè)置單元格內(nèi)容為字符串型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
//為了能在單元格中寫入中文,設(shè)置字符編碼為UTF_16。
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//往第一個單元格中寫入信息
cell.setCellValue("測試成功");
FileOutputStream fOut = new FileOutputStream(xlsFile);
workbook.write(fOut);
fOut.flush();
fOut.close();
System.out.println("文件生成...");
//以下語句讀取生成的Excel文件內(nèi)容
FileInputStream fIn=new FileInputStream(xlsFile);
HSSFWorkbook readWorkBook= new HSSFWorkbook(fIn);
HSSFSheet readSheet= readWorkBook.getSheet("firstSheet");
HSSFRow readRow =readSheet.getRow(0);
HSSFCell readCell = readRow.getCell((short)0);
System.out.println("第一個單元是:" + readCell.getStringCellValue());
}
catch(Exception e)
{
System.out.println(e);
}
}
}
與數(shù)據(jù)庫結(jié)合使用
使用POI,結(jié)合JDBC編程技術(shù),我們就可以方便地將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出生成Excel報表。其關(guān)鍵代碼如下:
/*把數(shù)據(jù)集rs中的數(shù)據(jù)導(dǎo)出至Excel工作表中。
*傳入?yún)?shù):數(shù)據(jù)集rs,Excel文件名稱xlsName,工作表名稱sheetName。
*/
public static void resultSetToExcel(ResultSet rs,String xlsName,String sheetName) throws Exception
{
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
workbook.setSheetName(0,sheetName,HSSFWorkbook.ENCODING_UTF_16);
HSSFRow row= sheet.createRow((short)0);;
HSSFCell cell;
ResultSetMetaData md=rs.getMetaData();
int nColumn=md.getColumnCount();
//寫入各個字段的名稱
for(int i=1;i=nColumn;i++)
{
cell = row.createCell((short)(i-1));
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(md.getColumnLabel(i));
}
int iRow=1;
//寫入各條記錄,每條記錄對應(yīng)Excel中的一行
while(rs.next())
{row= sheet.createRow((short)iRow);;
for(int j=1;j=nColumn;j++)
{
cell = row.createCell((short)(j-1));
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(rs.getObject(j).toString());
}
iRow++;
}
FileOutputStream fOut = new FileOutputStream(xlsName);
workbook.write(fOut);
fOut.flush();
fOut.close();
JOptionPane.showMessageDialog(null,"導(dǎo)出數(shù)據(jù)成功!");
}
JAVA POI 組件//創(chuàng)建HSSFWorkbook對象
HSSFWorkbook wb = new HSSFWorkbook();
//創(chuàng)建HSSFSheet對象
HSSFSheet sheet = wb.createSheet("sheet0");
//創(chuàng)建HSSFRow對象
HSSFRow row = sheet.createRow((short)0);
//創(chuàng)建HSSFCell對象
HSSFCell cell=row.createCell((short)0);
//用來處理中文問題
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//設(shè)置單元格的值
cell.setCellValue("單元格中的中文");
//定義你需要的輸出流
OutputStream out = new FileOutputStream("viwo.xls");
//輸出Excel
網(wǎng)站標(biāo)題:包含java代碼實現(xiàn)報表下鉆的詞條
本文地址:http://www.muchs.cn/article34/docsspe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、定制網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計
聲明:本網(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)