十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
对日项目中生成的固定格式,内容动态的文档
创新互联建站是一家专业提供临澧企业网站建设,专注与网站设计制作、成都网站制作、html5、小程序制作等业务。10年已为临澧众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
利用第三方提供的包生成一个excel,csv或者pdf之类的文件,根据需求不同,可能要求在画面上表示出来或者打印出来
往往需要写一个符合第三方要求的模板,用程序往里面填写数据,简单的说,出来的东西格式是固定的,内容动态
不同的包写法不同,我做的项目经常遇到写帐票,但是用第三方软件都是收费的,所以也没办法提供例子
参考下itext吧,好像用的比较多,还有个叫poi的好象应用也很多
以前在远标做过可以使用freemark,或者是自己写也行;步骤如下: 首先把你的模版弄好,后放到指定目录,注:在弄模版时注意,把你需要插入数据的地方放入相应的占位符,,如果要是使用freamark的话
/**
* 数字金额大写转换,思想先写个完整的然后将如零拾替换成零
* 要用到正则表达式
*/
public static String digitUppercase(double n){
String fraction[] = {"角", "分"};
String digit[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
String unit[][] = {{"元", "万", "亿"},
{"", "拾", "佰", "仟"}};
String head = n 0? "负": "";
n = Math.abs(n);
String s = "";
for (int i = 0; i fraction.length; i++) {
s += (digit[(int)(Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", "");
}
if(s.length()1){
s = "整";
}
int integerPart = (int)Math.floor(n);
for (int i = 0; i unit[0].length integerPart 0; i++) {
String p ="";
for (int j = 0; j unit[1].length n 0; j++) {
p = digit[integerPart%10]+unit[1][j] + p;
integerPart = integerPart/10;
}
s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s;
}
return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
}
票据套打,这个大部分商业报表就可以实现。现在主流的商业报表多采用底图描绘,绝对定位的方式完成套打表样的绘制,用户可将要套打的票据扫描进来作为背景图,用报表设计器进行数据的位置摆放,可以精确定位数据的位置。你可以按你的要求试试,一般还是要自己操作一下容易记住,毛泽东说过的,实践出真知嘛!