国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

財務(wù)支票快速打印小程序

2021-07-19 21:41:44吳吉哲
電腦知識與技術(shù) 2021年15期
關(guān)鍵詞:軟件財務(wù)

吳吉哲

摘要:日常財務(wù)辦公中經(jīng)常需要填寫支票,例如現(xiàn)金支票,轉(zhuǎn)賬支票。支票里的內(nèi)容大部分內(nèi)容重復(fù),也容易出錯,未及時發(fā)現(xiàn)可能會造成不必要的損失。本文介紹了一款基于Java編程語言開發(fā)的"支票快速打印"軟件,不但可以快速轉(zhuǎn)換數(shù)字大小寫,形成準(zhǔn)確的支票模板,并且可以連接使用打印機(jī)快速打印支票,有效減輕工作人員的工作量,提高準(zhǔn)確率。

關(guān)鍵詞:財務(wù);Java;軟件

中圖分類號:TP311? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2021)15-0236-03

1 引言

支票(Cheque)是出票人簽發(fā)的,委托辦理支票存款業(yè)務(wù)的銀行或者其他金融機(jī)構(gòu)在見票時無條件支付確定的金額給收款人或者持票人的票據(jù)。在歷史上,資本家將巨額款項存入金錢買賣業(yè)的金銀佃工商人處,收款的金銀佃工商人向富商簽發(fā)收據(jù)。該收據(jù)為見票即付的無記名證券,富商憑收據(jù)向商人取款。后來,收款的金銀佃工商人在收到存款時,向存款人交付存折,內(nèi)附數(shù)張空白的提款憑證。存款人可以在提款憑證上做必要填寫,然后憑此向收受存款的商人請求支付。現(xiàn)代支票就是從這種提款憑證發(fā)展而來。

支票的出現(xiàn)使得人們可以對事先存儲在銀行的金錢進(jìn)行支取,這樣不僅方便了交易,而且可以確保安全,促進(jìn)了經(jīng)濟(jì)和商業(yè)的發(fā)展。而在現(xiàn)在的社會,支票更是隨處可見,大到金融企業(yè),小到老百姓,都會用到支票。在支票的填寫上,銀行考慮到安全性,同時也為了規(guī)范書寫,設(shè)定了很多填寫規(guī)范。但是這導(dǎo)致了在日常煩瑣的財務(wù)工作中增添了不必要的工作量。開發(fā)實現(xiàn)這一款程序,既節(jié)約了人力成本,也提高了工作效率和書寫支票準(zhǔn)確率。

2 技術(shù)選取

本系統(tǒng)基于Java語言的桌面應(yīng)用,主要涉及Java的IO文件讀入存取技術(shù)、excel處理技術(shù)、swing界面技術(shù),同時運(yùn)用Photoshop和AI軟件進(jìn)行用戶界面圖片的設(shè)計。

3 軟件相關(guān)設(shè)計

3.1 系統(tǒng)思路設(shè)計

首先,進(jìn)入用戶界面,用戶輸入日期、收款單位、金額、密碼等基本信息,點(diǎn)擊“生成Excel”按鈕,軟件后臺會自動根據(jù)用戶選擇的支票類型選擇不同的支票模板參數(shù),生成excel表格,將用戶輸入的信息自動寫入,并彈出交由用戶確認(rèn),確認(rèn)無誤后點(diǎn)擊“打印”按鈕,即可開始打印支票。

3.2 代碼實現(xiàn)

本系統(tǒng)需要實現(xiàn)的代碼包括六個類。

1)Frame.java

此類主要生成一個用戶界面的對象,用戶可以在此界面輸入日期、收款單位、金額、密碼等基本信息,并且操作生成表格或者進(jìn)行打印。

public class Frame extends JFrame{

JPanel panel1 = new JPanel();

JPanel panel2 = new JPanel();

JTextField copname = new JTextField("", 25);

JButton bt = new JButton("生成EXCEL");

JTextField data = new JTextField("開票日期:", 25);

JTextField datablank = new JTextField("", 25);

JTextField datatip = new JTextField("格式:20170901", 25);

JTextField amount = new JTextField("開票金額:", 25);

JTextField amountblank = new JTextField("", 25);

JTextField amounttip = new JTextField("格式:10000.00", 25);

JTextField use = new JTextField("用途:", 25);

JTextField useblank = new JTextField("", 25);

JTextField password = new JTextField("密碼:", 25);

JTextField passwordblank = new JTextField("", 25);

JTextField cop = new JTextField("收款單位:", 25);

public Frame() {

JFrame frame = new JFrame();

frame.setSize(800, 500);

panel2.setSize(500, 400);

frame.setTitle("支票打印小");

(省略控件設(shè)置代碼)

為界面內(nèi)的按鈕設(shè)置監(jiān)聽事件,點(diǎn)擊進(jìn)入監(jiān)聽事件。

bt.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

NewReceiver(copname.getText().toString(),datablank.getText().toString(),passwordblank.getText().toString(), useblank.getText().toString(), amountblank.getText().toString());}});}}

2)ImageComponent.java

此類主要生成界面美化對象,便于后臺調(diào)用。

public class ImageComponent extends JComponent{

private static final int DEFAULT_WIDTH = 330;

private static final int DEFAULT_HEIGHT= 500;

private Image image;

public ImageComponent(){image = new ImageIcon("log.jpg").getImage();}

public void paintComponent(Graphics g){

if(image == null) return;

int imageWidth = image.getWidth(this);

int imageHeight = image.getHeight(this);

g.drawImage(image,0,0,null);

for(int i=0;i*imageWidth<=getWidth();i++){

for(int j=0;j*imageHeight<=getHeight();j++){

if(i+j>0){g.copyArea(0, 0, imageWidth, imageHeight, i*imageWidth, j*imageHeight);}}

}

publicDimension getPreferredSize(){return new Dimension(DEFAULT_WIDTH,DEFAULT_HEIGHT);

}}

3)Reciver.java

功能實現(xiàn)的主類。根據(jù)用戶輸入的時間、金額,自動還換算為大寫的數(shù)據(jù),并且將所有數(shù)據(jù)整合,生成可以打印的支票固定格式的excel表格。

public class Receiver {

public Receiver(String copname,String data,String password,String use,String amount) {(省略構(gòu)造方法參數(shù))}

private void changetoBig(String data, String amount) {

final String UNIT = "萬千佰拾億仟佰拾萬仟佰拾元角分";

final String DIGIT = "零壹貳叁肆伍陸柒捌玖";

final double MAX_VALUE = 9999999999999.99D;

int year = Integer.parseInt(data.substring(0, 4));

int month =Integer.parseInt(data.substring(4, 6));

int day = Integer.parseInt(data.substring(6, 8));

String[]Daxie = {"零","壹","貳","叁","肆","伍","陸","柒","捌","玖","拾"};

String BigYear;

String BigMonth;

String BigDay;

String SmallData = year+"年"+month+"月"+day+"日";

excel.test(8, 2, String.valueOf(year));

excel.test(8, 3, String.valueOf(month));

excel.test(8, 4, String.valueOf(day));

int y1 = year/1000;

inty2 = year%1000/100;

int y3 = year%100/10;

int y4 = year%100%10;

BigYear = Daxie[y1]+Daxie[y2]+Daxie[y3]+Daxie[y4];

excel.test(2, 10, BigYear);

int m1 = month/10;

int m2 = month%10;

if(m1==0){BigMonth = Daxie[0]+Daxie[m2];

}else if(m2==0){BigMonth = Daxie[m1]+Daxie[10];

}else{BigMonth = Daxie[m1]+Daxie[10]+Daxie[m2];

}excel.test(2, 12, BigMonth);

int d1 = day/10;

int d2 = day%10;

if(d1==0){BigDay = Daxie[0]+Daxie[d2];

}else if(d2==0){BigDay = Daxie[d1]+Daxie[10];

}else{BigDay = Daxie[d1]+Daxie[10]+ Daxie[d2];

}excel.test(2, 13, BigDay);

double v = Double.parseDouble(amount);

if (v < 0 || v > MAX_VALUE) {System.out.println("參數(shù)非法!");}

long l = Math.round(v * 100);

xiaoxie(l,v);

if (l == 0) {System.out.println("零元整");}

String strValue = l + "";

int i = 0;

int j = UNIT.length() - strValue.length();

String rs = "";

boolean isZero = false;

for (; i < strValue.length(); i++, j++) {

char ch = strValue.charAt(i);

if (ch == '0') {isZero = true;

if (UNIT.charAt(j) == '億' || UNIT.charAt(j) == '萬'|| UNIT.charAt(j) == '元') {

rs = rs + UNIT.charAt(j);

isZero = false;}} else {

if (isZero) {rs = rs + "零";isZero = false;}

rs = rs + DIGIT.charAt(ch - '0') + UNIT.charAt(j);}}

rs = rs.replaceAll("億萬", "億");

rs += "整";

excel.test(5, 9, rs);

System.out.println(rs);

try {ToPrint();} catch (IOException e) {e.printStackTrace();}}

(省略其他執(zhí)行方法)

4)ToExcel.java

此類為實現(xiàn)寫入Excel的功能類。

ppublic class ToExcel {

public void test(int x, int y, String value) {

try {

HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(filePath));

HSSFSheet sheet = wb.getSheetAt(0);

HSSFRow row = sheet.getRow(x);

HSSFCell cell = row.createCell(y);

HSSFFont f = wb.createFont();

f.setFontName("宋體");

HSSFCellStyle style = wb.createCellStyle();

(省略固定支票格式代碼)

style.setFont(f);

cell.setCellStyle(style);

cell.setCellValue(value);

FileOutputStream os;

os = new FileOutputStream(filePath);

wb.write(os);

os.close();

} catch (Exception e) {e.printStackTrace();}}

在操作軟件時,生成的對象如果不用java虛擬機(jī)回收,會一直存在,可能會影響軟件后續(xù)使用,建議在該類里加一個清理數(shù)據(jù)的方法public void clear()。

4結(jié)語

本軟件使用java編程語言,獨(dú)立開發(fā),實現(xiàn)了快速打印支票的功能,體現(xiàn)了java的結(jié)構(gòu)簡單、獨(dú)立性好等特點(diǎn),可有效減少財務(wù)人員的工作量,提高工作效率,具有一定的推廣前景。

參考文獻(xiàn):

[1] 王昊欣,姜學(xué)東.JAVA編程語言在計算機(jī)軟件開發(fā)中的應(yīng)用[J].電子測試,2017(13):73-74.

[2] 秦鵬珍.基于Java的拼圖游戲?qū)崿F(xiàn)[J].電子技術(shù)與軟件工程,2019(13):237-238.

[3] 姜雪垠.網(wǎng)上答題系統(tǒng)的設(shè)計與實現(xiàn)[J].中國管理信息化,2017,20(20):153-154.

【通聯(lián)編輯:唐一東】

猜你喜歡
軟件財務(wù)
禪宗軟件
英語文摘(2021年10期)2021-11-22 08:02:26
黨建與財務(wù)工作深融合雙提升的思考
論事業(yè)單位財務(wù)內(nèi)部控制的實現(xiàn)
欲望不控制,財務(wù)不自由
軟件對對碰
水利財務(wù)
談軟件的破解與保護(hù)
精品(2015年9期)2015-01-23 01:36:01
豐富多彩的Android軟件
河源市| 武城县| 成都市| 房产| 杭州市| 新闻| 胶州市| 长泰县| 河间市| 荣昌县| 佛学| 阿拉善盟| 津市市| 微博| 大厂| 包头市| 东辽县| 上饶县| 合山市| 阳春市| 新民市| 阜城县| 河北省| 左贡县| 海南省| 家居| 体育| 鄄城县| 翁牛特旗| 山西省| 保靖县| 如东县| 玉林市| 福清市| 改则县| 花莲县| 诸暨市| 奇台县| 哈密市| 武邑县| 乡城县|