create or replace procedure out_excel_cjr(dir in varchar2,
filename in varchar2,
strwhere in varchar2) as
type gsm_rec is record(
XH varchar2(4000),
F_XM varchar2(4000),
F_XB varchar2(4000),
F_MZ varchar2(4000),
F_CSRQ varchar2(4000),
F_HKXZ varchar2(4000),
F_ZZMM varchar2(4000),
F_HYZK varchar2(4000),
F_WHCD varchar2(4000),
F_HH varchar2(4000),
F_HH1 varchar2(4000),
F_SFLX varchar2(4000),
F_HKD_Z varchar2(4000),
F_HKD_C varchar2(4000),
F_HKD_JWH varchar2(4000),
F_CJZH varchar2(4000),
F_SFZH varchar2(4000),
F_CJDJ varchar2(4000),
F_CJLB varchar2(4000),
F_DCCJLB varchar2(4000),
F_JHR varchar2(4000),
F_YJHRGX varchar2(4000),
F_JHRDH varchar2(4000),
F_JHRSFZH varchar2(4000),
F_LXDH varchar2(4000),
F_SFDBTK varchar2(4000),
F_DBTKZH varchar2(4000),
F_DBTKJE varchar2(4000),
F_LDNL varchar2(4000),
F_SFLB varchar2(4000),
F_SFLBVALUE varchar2(4000),
F_XJZDZ varchar2(4000),
F_JTCZRK varchar2(4000),
F_GRNSR varchar2(4000),
F_JTNSH varchar2(4000),
F_BHCJRKS varchar2(4000),
F_BHDC varchar2(4000),
F_ZFJZMJ varchar2(4000),
F_ZFSYMJ varchar2(4000),
F_ZFXZ varchar2(4000),
F_ZFLY varchar2(4000),
F_ZFLX varchar2(4000),
F_ZFJG varchar2(4000),
F_XSSHBX varchar2(4000),
F_SFJJFW varchar2(4000),
F_HZ varchar2(4000),
F_ZT varchar2(4000));
sql1 varchar2(4000);
file UTL_FILE.file_type;
TYPE cur_type IS ref CURSOR;
empc cur_type;
emp_rec gsm_rec;
begin
sql1 := 'select ' || '''''' || ' as XH,
F_XM,
F_XB,
F_MZ,
' || '''''''''' || '||' || 'to_char(F_CSRQ, ' || '''' ||
'yyyy-MM-dd' || '''' || ') as F_CSRQ,
F_HKXZ,
F_ZZMM,
F_HYZK,
F_WHCD,
F_HH,
' || '''''''''' || '||' || 'F_HH1 as F_HH1,
F_SFLX,
F_HKD_Z,
F_HKD_C,
F_HKD_JWH,
' || '''''''''' || '||' || ' F_CJZH as F_CJZH,
' || '''''''''' || '||' || ' F_SFZH as F_SFZH,
F_CJDJ,
F_CJLB,
F_DCCJLB,
F_JHR,
F_YJHRGX,
' || '''''''''' || '||' || 'F_JHRDH as F_JHRDH,
' || '''''''''' || '||' || ' F_JHRSFZH AS F_JHRSFZH,
' || '''''''''' || '||' || ' F_LXDH AS F_LXDH,
F_SFDBTK,
' || '''''''''' || '||' || 'F_DBTKZH as F_DBTKZH,
' || '''''''''' || '||' || 'F_DBTKJE as F_DBTKJE,
F_LDNL,
F_SFLB,
F_SFLBVALUE,
F_XJZDZ,
F_JTCZRK,
' || '''''''''' || '||' || 'F_GRNSR AS F_GRNSR,
' || '''''''''' || '||' || ' F_JTNSH AS F_JTNSH,
F_BHCJRKS,
F_BHDC,
F_ZFJZMJ,
F_ZFSYMJ,
F_ZFXZ,
F_ZFLY,
F_ZFLX,
F_ZFJG,
F_XSSHBX,
F_SFJJFW,
F_HZ,
F_ZT
from tbl_cjr
where '||strwhere||' order by to_number(sys_id)';
file := UTL_FILE.fopen(dir, filename, 'w');
--utl_file.put_line(file, 'report: generated on ' || sysdate);
--utl_file.new_line(file);
utl_file.put_line(file,
'序号' || chr(9) || '姓名' || chr(9) || '性别' || chr(9) || '民族' ||
chr(9) || '出生日期' || chr(9) || '户口性质' || chr(9) ||
'政治面貌' || chr(9) || '婚姻状况' || chr(9) || '文化程度' ||
chr(9) || '户号' || chr(9) || '户号1' || chr(9) || '身份类型' ||
chr(9) || '户口地镇' || chr(9) || '户口地村' || chr(9) ||
'户口地居委会' || chr(9) || '残疾证号' || chr(9) || '身份证号' ||
chr(9) || '残疾等级' || chr(9) || '残疾类别' || chr(9) ||
'实际残疾类别' || chr(9) || '监护人' || chr(9) || '与监护人关系' ||
chr(9) || '监护人电话' || chr(9) || '监护人身份证号' || chr(9) ||
'联系电话' || chr(9) || '是否享受低保特困' || chr(9) || '低保特困证号' ||
chr(9) || '低保特困证金额' || chr(9) || '劳动能力' || chr(9) ||
'身份类别' || chr(9) || '身份类别输入值' || chr(9) || '现居住地址' ||
chr(9) || '家庭常住人口' || chr(9) || '个人年收入' || chr(9) ||
'家庭年收入' || chr(9) || '本户残疾人口数' || chr(9) || '本户残疾人口状态' ||
chr(9) || '住房建筑面积' || chr(9) || '住房使用面积' || chr(9) ||
'住房性质' || chr(9) || '住房来源' || chr(9) || '住房类型' ||
chr(9) || '住房结构' || chr(9) || '享受社会保险' || chr(9) ||
'是否享受家居服务' || chr(9) || '是否户主' || chr(9) || '状态');
OPEN empc FOR sql1;
loop
fetch empc
into emp_rec;
exit when empc%notfound;
UTL_FILE.PUT_LINE(file,
empc%ROWCOUNT || chr(9) || emp_rec.F_XM || chr(9) ||
replace(emp_rec.F_XB, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_MZ, '--请选择--', '') || chr(9) ||
emp_rec.F_CSRQ || chr(9) ||
replace(emp_rec.F_HKXZ, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZZMM, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HYZK, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_WHCD, '--请选择--', '') || chr(9) ||
emp_rec.F_HH || chr(9) || emp_rec.F_HH1 || chr(9) ||
replace(emp_rec.F_SFLX, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HKD_Z, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HKD_C, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HKD_JWH, '--请选择--', '') || chr(9) ||
emp_rec.F_CJZH || chr(9) || emp_rec.F_SFZH || chr(9) ||
replace(emp_rec.F_CJDJ, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_CJLB, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_DCCJLB, '--请选择--', '') || chr(9) ||
emp_rec.F_JHR || chr(9) ||
replace(emp_rec.F_YJHRGX, '--请选择--', '') || chr(9) ||
emp_rec.F_JHRDH || chr(9) || emp_rec.F_JHRSFZH ||
chr(9) || emp_rec.F_LXDH || chr(9) ||
replace(emp_rec.F_SFDBTK, '--请选择--', '') || chr(9) ||
emp_rec.F_DBTKZH || chr(9) || emp_rec.F_DBTKJE ||
chr(9) ||
replace(emp_rec.F_LDNL, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_SFLB, '--请选择--', '') || chr(9) ||
emp_rec.F_SFLBVALUE || chr(9) || emp_rec.F_XJZDZ ||
chr(9) || emp_rec.F_JTCZRK || chr(9) ||
emp_rec.F_GRNSR || chr(9) || emp_rec.F_JTNSH ||
chr(9) || emp_rec.F_BHCJRKS || chr(9) ||
replace(emp_rec.F_BHDC, '--请选择--', '') || chr(9) ||
emp_rec.F_ZFJZMJ || chr(9) || emp_rec.F_ZFSYMJ ||
chr(9) ||
replace(emp_rec.F_ZFXZ, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZFLY, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZFLX, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZFJG, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_XSSHBX, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_SFJJFW, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HZ, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZT, '--请选择--', ''));
END LOOP;
--UTL_FILE.PUT_LINE(file, '*** END OF REPORT ***');
UTL_FILE.FCLOSE(file);
EXCEPTION
WHEN UTL_FILE.INVALID_FILEHANDLE THEN
RAISE_APPLICATION_ERROR(-20001, 'Invalid File.');
WHEN UTL_FILE.WRITE_ERROR THEN
RAISE_APPLICATION_ERROR(-20002, 'Unable to write to file');
when utl_file.invalid_operation then
RAISE_APPLICATION_ERROR(-20003, 'file operate invalid');
END out_excel_cjr;
filename in varchar2,
strwhere in varchar2) as
type gsm_rec is record(
XH varchar2(4000),
F_XM varchar2(4000),
F_XB varchar2(4000),
F_MZ varchar2(4000),
F_CSRQ varchar2(4000),
F_HKXZ varchar2(4000),
F_ZZMM varchar2(4000),
F_HYZK varchar2(4000),
F_WHCD varchar2(4000),
F_HH varchar2(4000),
F_HH1 varchar2(4000),
F_SFLX varchar2(4000),
F_HKD_Z varchar2(4000),
F_HKD_C varchar2(4000),
F_HKD_JWH varchar2(4000),
F_CJZH varchar2(4000),
F_SFZH varchar2(4000),
F_CJDJ varchar2(4000),
F_CJLB varchar2(4000),
F_DCCJLB varchar2(4000),
F_JHR varchar2(4000),
F_YJHRGX varchar2(4000),
F_JHRDH varchar2(4000),
F_JHRSFZH varchar2(4000),
F_LXDH varchar2(4000),
F_SFDBTK varchar2(4000),
F_DBTKZH varchar2(4000),
F_DBTKJE varchar2(4000),
F_LDNL varchar2(4000),
F_SFLB varchar2(4000),
F_SFLBVALUE varchar2(4000),
F_XJZDZ varchar2(4000),
F_JTCZRK varchar2(4000),
F_GRNSR varchar2(4000),
F_JTNSH varchar2(4000),
F_BHCJRKS varchar2(4000),
F_BHDC varchar2(4000),
F_ZFJZMJ varchar2(4000),
F_ZFSYMJ varchar2(4000),
F_ZFXZ varchar2(4000),
F_ZFLY varchar2(4000),
F_ZFLX varchar2(4000),
F_ZFJG varchar2(4000),
F_XSSHBX varchar2(4000),
F_SFJJFW varchar2(4000),
F_HZ varchar2(4000),
F_ZT varchar2(4000));
sql1 varchar2(4000);
file UTL_FILE.file_type;
TYPE cur_type IS ref CURSOR;
empc cur_type;
emp_rec gsm_rec;
begin
sql1 := 'select ' || '''''' || ' as XH,
F_XM,
F_XB,
F_MZ,
' || '''''''''' || '||' || 'to_char(F_CSRQ, ' || '''' ||
'yyyy-MM-dd' || '''' || ') as F_CSRQ,
F_HKXZ,
F_ZZMM,
F_HYZK,
F_WHCD,
F_HH,
' || '''''''''' || '||' || 'F_HH1 as F_HH1,
F_SFLX,
F_HKD_Z,
F_HKD_C,
F_HKD_JWH,
' || '''''''''' || '||' || ' F_CJZH as F_CJZH,
' || '''''''''' || '||' || ' F_SFZH as F_SFZH,
F_CJDJ,
F_CJLB,
F_DCCJLB,
F_JHR,
F_YJHRGX,
' || '''''''''' || '||' || 'F_JHRDH as F_JHRDH,
' || '''''''''' || '||' || ' F_JHRSFZH AS F_JHRSFZH,
' || '''''''''' || '||' || ' F_LXDH AS F_LXDH,
F_SFDBTK,
' || '''''''''' || '||' || 'F_DBTKZH as F_DBTKZH,
' || '''''''''' || '||' || 'F_DBTKJE as F_DBTKJE,
F_LDNL,
F_SFLB,
F_SFLBVALUE,
F_XJZDZ,
F_JTCZRK,
' || '''''''''' || '||' || 'F_GRNSR AS F_GRNSR,
' || '''''''''' || '||' || ' F_JTNSH AS F_JTNSH,
F_BHCJRKS,
F_BHDC,
F_ZFJZMJ,
F_ZFSYMJ,
F_ZFXZ,
F_ZFLY,
F_ZFLX,
F_ZFJG,
F_XSSHBX,
F_SFJJFW,
F_HZ,
F_ZT
from tbl_cjr
where '||strwhere||' order by to_number(sys_id)';
file := UTL_FILE.fopen(dir, filename, 'w');
--utl_file.put_line(file, 'report: generated on ' || sysdate);
--utl_file.new_line(file);
utl_file.put_line(file,
'序号' || chr(9) || '姓名' || chr(9) || '性别' || chr(9) || '民族' ||
chr(9) || '出生日期' || chr(9) || '户口性质' || chr(9) ||
'政治面貌' || chr(9) || '婚姻状况' || chr(9) || '文化程度' ||
chr(9) || '户号' || chr(9) || '户号1' || chr(9) || '身份类型' ||
chr(9) || '户口地镇' || chr(9) || '户口地村' || chr(9) ||
'户口地居委会' || chr(9) || '残疾证号' || chr(9) || '身份证号' ||
chr(9) || '残疾等级' || chr(9) || '残疾类别' || chr(9) ||
'实际残疾类别' || chr(9) || '监护人' || chr(9) || '与监护人关系' ||
chr(9) || '监护人电话' || chr(9) || '监护人身份证号' || chr(9) ||
'联系电话' || chr(9) || '是否享受低保特困' || chr(9) || '低保特困证号' ||
chr(9) || '低保特困证金额' || chr(9) || '劳动能力' || chr(9) ||
'身份类别' || chr(9) || '身份类别输入值' || chr(9) || '现居住地址' ||
chr(9) || '家庭常住人口' || chr(9) || '个人年收入' || chr(9) ||
'家庭年收入' || chr(9) || '本户残疾人口数' || chr(9) || '本户残疾人口状态' ||
chr(9) || '住房建筑面积' || chr(9) || '住房使用面积' || chr(9) ||
'住房性质' || chr(9) || '住房来源' || chr(9) || '住房类型' ||
chr(9) || '住房结构' || chr(9) || '享受社会保险' || chr(9) ||
'是否享受家居服务' || chr(9) || '是否户主' || chr(9) || '状态');
OPEN empc FOR sql1;
loop
fetch empc
into emp_rec;
exit when empc%notfound;
UTL_FILE.PUT_LINE(file,
empc%ROWCOUNT || chr(9) || emp_rec.F_XM || chr(9) ||
replace(emp_rec.F_XB, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_MZ, '--请选择--', '') || chr(9) ||
emp_rec.F_CSRQ || chr(9) ||
replace(emp_rec.F_HKXZ, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZZMM, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HYZK, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_WHCD, '--请选择--', '') || chr(9) ||
emp_rec.F_HH || chr(9) || emp_rec.F_HH1 || chr(9) ||
replace(emp_rec.F_SFLX, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HKD_Z, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HKD_C, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HKD_JWH, '--请选择--', '') || chr(9) ||
emp_rec.F_CJZH || chr(9) || emp_rec.F_SFZH || chr(9) ||
replace(emp_rec.F_CJDJ, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_CJLB, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_DCCJLB, '--请选择--', '') || chr(9) ||
emp_rec.F_JHR || chr(9) ||
replace(emp_rec.F_YJHRGX, '--请选择--', '') || chr(9) ||
emp_rec.F_JHRDH || chr(9) || emp_rec.F_JHRSFZH ||
chr(9) || emp_rec.F_LXDH || chr(9) ||
replace(emp_rec.F_SFDBTK, '--请选择--', '') || chr(9) ||
emp_rec.F_DBTKZH || chr(9) || emp_rec.F_DBTKJE ||
chr(9) ||
replace(emp_rec.F_LDNL, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_SFLB, '--请选择--', '') || chr(9) ||
emp_rec.F_SFLBVALUE || chr(9) || emp_rec.F_XJZDZ ||
chr(9) || emp_rec.F_JTCZRK || chr(9) ||
emp_rec.F_GRNSR || chr(9) || emp_rec.F_JTNSH ||
chr(9) || emp_rec.F_BHCJRKS || chr(9) ||
replace(emp_rec.F_BHDC, '--请选择--', '') || chr(9) ||
emp_rec.F_ZFJZMJ || chr(9) || emp_rec.F_ZFSYMJ ||
chr(9) ||
replace(emp_rec.F_ZFXZ, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZFLY, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZFLX, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZFJG, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_XSSHBX, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_SFJJFW, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_HZ, '--请选择--', '') || chr(9) ||
replace(emp_rec.F_ZT, '--请选择--', ''));
END LOOP;
--UTL_FILE.PUT_LINE(file, '*** END OF REPORT ***');
UTL_FILE.FCLOSE(file);
EXCEPTION
WHEN UTL_FILE.INVALID_FILEHANDLE THEN
RAISE_APPLICATION_ERROR(-20001, 'Invalid File.');
WHEN UTL_FILE.WRITE_ERROR THEN
RAISE_APPLICATION_ERROR(-20002, 'Unable to write to file');
when utl_file.invalid_operation then
RAISE_APPLICATION_ERROR(-20003, 'file operate invalid');
END out_excel_cjr;