本例以一個實例來展現(xiàn)java報表工具FineReport離線填寫報表功能。
下圖為一個雇員統(tǒng)計表:
http://www.finereport.com/forumimages/lxtbsm1.jpg
FineReport報表設(shè)計器里的報表設(shè)計如下圖:
http://www.finereport.com/forumimages/lxtbsm2.jpg
模板中FineReport報表填報屬性如下:
http://www.finereport.com/forumimages/lxtbsm3.jpg
保存該模板到C:\FineReport6.2\WebReport\WEB-INF\reportlets目錄下,命名為WorkBook1.cpt。
依次點擊FineReport文件à輸出àExcel格式à原樣導(dǎo)出,得下圖的.xls文件:
http://www.finereport.com/forumimages/lxtbsm4.jpg
填寫雇員信息如下:
http://www.finereport.com/forumimages/lxtbsm5.jpg
將其另存,路徑為C:\WorkSheet1.xls.。
運(yùn)行如下導(dǎo)入程序即可將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫中,注意此處要特別留心程序中幾個路徑是否正確。
import java.io.FileInputStream;
import java.util.HashMap;
import com.fr.base.FRContext;
import com.fr.base.dav.LocalEnv;
import com.fr.report.ReportTemplate;
import com.fr.report.io.ExcelImporter;
public class TestUtils {
public void exe() {
// 配置系統(tǒng)運(yùn)行環(huán)境,可以localEnv remoteEnv
com.fr.base.dav.LocalEnv env = new LocalEnv("C:\\FineReport6.5\\WebReport\\WEB-INF");
try {
// 設(shè)置
FRContext.setCurrentEnv(env);
// 讀取模板
ReportTemplate tpl = env.readTemplate("WorkBook1.cpt");
// 讀取Excel文件
FileInputStream file = new FileInputStream("C:\\WorkSheet1.xls");
// 調(diào)用方法,具體如下
ExcelImporter.importExcel(tpl, new HashMap(), file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args)
{
TestUtils testUtils = new TestUtils();
testUtils.exe();
}
}
查看報表中數(shù)據(jù)見下圖:
http://www.finereport.com/forumimages/lxtbsm6.jpg
至此離線填報成功。
文章轉(zhuǎn)自:http://blog.vsharing.com/fanfanzheng/A1444756.html
了解Java報表工具就從這里開始