现在列印出的txt档总是不能完全显示出资料,如:卡号 制单号
120100001-1 2009040001现在只显示:卡号 制单号
120100001 20090400我设置的参数如下:
add_parameter(pl_id, 'DESFORMAT', TEXT_PARAMETER, 'wide180');
add_parameter(pl_id, 'MODE', TEXT_PARAMETER, 'Character');但是问题没有解决.....请高手帮忙!!! Thanks!~
120100001-1 2009040001现在只显示:卡号 制单号
120100001 20090400我设置的参数如下:
add_parameter(pl_id, 'DESFORMAT', TEXT_PARAMETER, 'wide180');
add_parameter(pl_id, 'MODE', TEXT_PARAMETER, 'Character');但是问题没有解决.....请高手帮忙!!! Thanks!~
report里面完全可以显示没有问题,只是设置了字体属性为什么到txt里就不行了,有没有可以在txt里设置字体大小的参数???
其实就是用form写了个程序,点击按钮时(When-Button-Pressed)执行一段代码实现写入txt档的功能,现在可以写入只是资料显示不全,不知道是不是在传参数的时候除了问题....
declare
file_id text_io.file_type;
AppID PLS_integer;
I NUMBER;
filename VARCHAR2(1000);
begin
filename := GET_FILE_NAME(File_Filter=> 'TXT Files (*.TXT)|*.TXT|',
dialog_type => SAVE_FILE,select_file=>TRUE);
if filename is null then
raise form_trigger_failure;
end if;
file_id:=text_io.fopen(filename,'w');
TEXT_IO.NEW_LINE(FILE_ID);
Text_IO.PUT(FILE_ID,rpad('类别编号',10,' '));
Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad('材料类别',40,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad('材料编号',10,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad('材料名称',20,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad('规格型号',20,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad('图纸编号',40,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad('材质',20,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad('计量单位',10,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad('备注',100,' '));
TEXT_IO.NEW_LINE(FILE_ID); GO_BLOCK('DBCB_clbh');
go_record(1);
IF :dbcb_clbh.clbh IS NOT NULL THEN
LOOP
TEXT_IO.NEW_LINE(FILE_ID);
Text_IO.PUT(FILE_ID,rpad(NVL(:dbcb_clbh.cllbbh,' '),10,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad(NVL(:dbcb_clbh.cllb,' '),40,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad(NVL(:dbcb_clbh.clbh,' '),10,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad(NVL(:dbcb_clbh.clmc,' '),20,' '));
Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad(NVL(:dbcb_clbh.ggxh,' '),20,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad(NVL(:dbcb_clbh.tzbh,' '),40,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad(NVL(:dbcb_clbh.cz,' '),20,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad(NVL(:dbcb_clbh.JLDW,' '),10,' ')); Text_IO.PUT(FILE_ID,' ');
Text_IO.PUT(FILE_ID,rpad(NVL(:dbcb_clbh.bz,' '),100,' ')); EXIT WHEN :SYSTEM.LAST_RECORD='TRUE';
NEXT_RECORD;
END LOOP;
END IF ;
TEXT_IO.NEW_LINE(FILE_ID);
Text_IO.PUT(FILE_ID,'E'); TEXT_IO.FCLOSE(FILE_ID);
GO_RECORD(1);
message('数据导出成功');
message('数据导出成功');-- AppID := DDE.App_Begin('c:\Program files\Microsoft office\Office\excel.exe '||FILENAME,DDE.App_Mode_MAXimized);
end;
DECLARE
pl_id paramlist;
BEGIN
pl_id := GET_PARAMETER_LIST ('the_param'); IF NOT ID_NULL (pl_id)
THEN
DESTROY_PARAMETER_LIST (pl_id);
END IF; pl_id := CREATE_PARAMETER_LIST ('the_param');
ADD_PARAMETER (pl_id, 'PARAMFORM', text_parameter, 'NO');
ADD_PARAMETER (pl_id, 'DESTYPE', text_parameter, :print_type); IF :print_type = 'File'
THEN
IF :file_type = 'TXT'
THEN
ADD_PARAMETER (pl_id, 'DESFORMAT', text_parameter, 'wide180');
ADD_PARAMETER (pl_id, 'MODE', text_parameter, 'Character');
ELSE
ADD_PARAMETER (pl_id, 'DESFORMAT', text_parameter, :file_type);
END IF; IF :file_type = 'HTMLCSS'
THEN
ADD_PARAMETER (pl_id,
'DESNAME',
text_parameter,
'c:\' || :file_name || '.htm'
);
ELSE
ADD_PARAMETER (pl_id,
'DESNAME',
text_parameter,
'c:\' || :file_name || '.' || :file_type
);
END IF;
ELSIF :print_type = 'Printer'
THEN
ADD_PARAMETER (pl_id, 'DESNAME', text_parameter, :desname);
END IF;
END;
ADD_PARAMETER (pl_id, 'DESFORMAT', text_parameter, 'wide180');
这个是不是设置宽度?如果是的话加大些看看
试试这个
Thanks!~ 昨天下班了没来得及试!~今天试一下
我只用他给report传过参数
我用它也是给report传参数,可是没有可以设置字体大小或字段宽度的属性,着实让人郁闷....
Thanks!~ 真是太感谢了!~