離線填報示例
本例以一個實例來展現FineReport Java報表軟件離線填寫報表功能。
下圖為一個雇員統計表:
FineReport6.5 Java報表軟件設計器里的報表設計如下圖:

FineReport6.5 Java報表軟件模板中報表填報屬性如下:

保存該模板到C:\FineReport6.2\WebReport\WEB-INF\reportlets目錄下,命名為WorkBook1.cpt。
依次點擊FineReport文件à輸出àExcel格式à原樣導出,得下圖的.xls文件:
填寫雇員信息如下:
將其另存,路徑為C:\WorkSheet1.xls.。
運行如下導入程序即可將數據導入數據庫中,注意此處要特別留心程序中幾個路徑是否正確。
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() {
// 配置系統運行環境,可以localEnv remoteEnv
com.fr.base.dav.LocalEnv env = new LocalEnv("C:\\FineReport6.5\\WebReport\\WEB-INF");
try {
// 設置
FRContext.setCurrentEnv(env);
// 讀取模板
ReportTemplate tpl = env.readTemplate("WorkBook1.cpt");
// 讀取Excel文件
FileInputStream file = new FileInputStream("C:\\WorkSheet1.xls");
// 調用方法,具體如下
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();
}
}
查看數據庫中數據見下圖:
至此離線填報成功。