后台导出固定资产卡片一例吴雅萍wuyp@ufida.com.cn问题描述:重庆联通公司的固定资产卡片有几万张,用户经常需要在卡片管理中查询卡片再导出为EXEL文件,这个过程很花费时间,我用一天的时间还不能完全导出(已修改过JAVA参数),问题在于查询要花时间、打印预览过程时间、文件导出时间。有时查询的数据太多还不能一次导出又要重新查询、打印、导出。所以请开发提供一个查询导出EXEL文件的SQL脚本。针对这个问题,维护开发部闫晓芬提供以下两种方案:操作步骤:方法一:通过EXCEL导出1、安装oracle客户端,建立本地TNS,如下图:2、建立ODBC数据源:管理工具——数据源(ODBC)添加数据源,如下图:选择下面的这个驱动填写要连接的库信息。3、通过Excel连接数据源,执行SQL语句,执行结果保存到Excel。打开EXCEL按照下图操作:选择刚才的那个数据源,去掉勾选。保存为一个查询。以后可以直接打开这个查询。需要的结果。方法二:通过PL_SQL导出:导出CSVfile,用EXCEL打开即可。SQL语句:Sql语句,一个是不查询自定义项的,一个是查询自定义项的。==请仔细填写查询条件,不需要的条件在sql中去掉================a、不查询自定义项:selectdistinctcard_codeas"卡片编号",asset_codeas"资产编码",asset_nameas"资产名称",fa_category.cate_nameas"类别名称",bd_currtype.currtypenameas"币种",depmethod_nameas"折旧方法",usedept.deptnameas"使用部门",mandept.deptnameas"管理部门",style_nameas"增加方式",status_nameas"使用状况",CASEpaydept_flagWHEN0THEN'使用部门'ELSE'管理部门'ENDas"折旧承担部门",usedmonthas"已计提月份",begindateas"开始使用日期",originvalueas"原币原值",localoriginvalueas"本币原值",currunitas"货币单位",accudepas"累计折旧",salvagerateas"净残值率%",assetuseras"使用人",fa_cardhistory.servicemonthas"使用月限",depunitas"单位折旧",deprateas"月折旧率",depamountas"月折旧额",specas"规格型号",positionas"存放地点",workloanunitas"工作量单位",accuworkloanas"累计工作量",allworkloanas"工作总量",predevaluateas"减值准备",cate_codeas"类别编码",localoriginvalue-accudepas"净值",salvageas"净残值",localoriginvalue-accudep-predevaluateas"净额",assetsuit_codeas"资产套号",monthworkloanas"月工作量",provideras"供应商",workcenteras"工作中心",card_numas"数量",fk_jobmngfilas"项目管理档案"fromfa_card,fa_cardhistory,fa_depmethod,fa_addreducestyle,fa_usingstatus,fa_category,bd_currtype,fa_deptscale,bd_deptdocusedept,bd_deptdocmandeptwherefa_card.fk_currency=bd_currtype.pk_currtypeandfa_deptscale.fk_history_usedept=fa_cardhistory.fk_usedeptandfa_deptscale.fk_dept=usedept.pk_deptdocandfa_cardhistory.fk_mandept=mandept.pk_deptdocandfa_card.dr=0andfa_cardhistory.dr=0andpk_card=fa_cardhistory.fk_cardandfa_cardhistory.fk_depmethod=pk_depmethodandfk_addreducestyle=pk_addreducestyleandfk_usingstatus=pk_usingstatusandfk_category=pk_categoryandfa_cardhistory.pk_corp='1002'and(fa_card.pk_corp='1002')--资产编码范围andfa_card.asset_code>=''andfa_card.asset_code<=''--资产类别编码范围andfa_category.cate_code>=''andfa_category.cate_code<=''--卡片编号范围andfa_card.card_code>=''andfa_card.card_code<=''--年度andfa_cardhistory.accyear=''--月份(如果查询期间不是最小未结帐月,请输入前台的查询月份+1)--如果查询期间是最小未结帐月,则选择当月,则用这个语句(fa_cardhistory.period='前台月份'andfa_cardhistory.laststate_flag=1)andfa_cardhistory.period='前台的查询月份+1'--查询使用部门条件andusedept.deptcode=''andusedept.deptname='第二开发部'andusedept.pk_corp='1002'--查询管理部门条件andmandept.deptcode=''andmandept.deptname=''andmandept.pk_corp=''--是否内部完全减少资产(0:否;1:是)and(fa_cardhistory.reduce_flag=0)orderbyfa_card.card_codeb、查询自定义项:selectdistinctcard_codeas"卡片编号",asset_codeas"资产编码",asset_nameas"资产名称",fa_category.cate_nameas"类别名称",bd_currtype.currtypenameas"币种",depmethod_nameas"折旧方法",usedept.deptnameas"使用部门",mandept.deptnameas"管理部门",style_nameas"增加方式",status_nameas"使用状况",CASEpaydept_flagWHEN0THEN'使用部门'ELSE'管理部门'ENDas"折旧承担部门",usedmonthas"已计提月份",begindateas"开始使用日期",originvalueas"原币原值",localoriginvalueas"本币原值",currunitas"货币单位",accudepas"累计折旧",salvagerateas"净残值率%",assetuseras"使用人",fa_cardhistory.servicemonthas"使用月限",depunitas"单位折旧",deprateas"月折旧率",depamountas"月折旧额",specas"规格型号",positionas"存放地点",workloanunitas"工作量单位",accuworkloanas"累计工作量",allworkloanas"工作总量",predevaluateas"减值准备",cate_codeas"类别编码",localoriginvalue-accudepas"净值",salvageas"净残值",localoriginvalue-accudep-predevaluateas"净额",assetsuit_codeas"资产套号",monthworkloanas"月工作量",provideras"供应商",workcenteras"工作中心",card_numas"数量",fk_jobmngfilas"项目管理档案",fa_carditem.item_nameas"自定义项名称",fa_cardsub.itemvalueas"自定义项值"fromfa_card,fa_cardhistory,fa_depmethod,fa_addreducestyle,fa_usingstatus,fa_category,bd_currtype,fa_deptscale,bd_deptdocusedept,bd_deptdocmandept,fa_cardsub,fa_carditemwherefa_card.fk_currency=bd_currtype.pk_currtypeandfa_deptscale.fk_history_usedept=fa_cardhistory.fk_usedeptandfa_deptscale.fk_dept=usedept.pk_deptdocandfa_cardhistory.fk_mandept=mandept.pk_deptdocandfa_carditem.pk_carditem=fa_cardsub.fk_carditemandfa_cardsub.fk_card=fa_card.pk_cardandfa_card.dr=0andfa_cardhistory.dr=0andpk_card=fa_cardhistory.fk_cardandfa_cardhistory.fk_depmethod=pk_depmethodandfk_addreducestyle=pk_addreducestyleandfk_usingstatus=pk_usingstatusandfk_category=pk_categoryandfa_cardhistory.pk_corp='1002'and(fa_card.pk_corp='1002')--资产编码范围andfa_card.asset_code>=''andfa_card.asset_code<=''--资产类别编码范围andfa_category.cate_code>=''andfa_category.cate_code<=''--卡片编号范围andfa_card.card_code>=''andfa_card.card_code<=''--年度andfa_cardhistory.accyear=''--月份(如果查询期间不是最小未结帐月,请输入前台的查询月份+1)--如果查询期间是最小未结帐月,则选择当月,则用这个语句(fa_cardhistory.period='前台月份'andfa_cardhistory.laststate_flag=1)andfa_cardhistory.period='前台的查询月份+1'--查询使用部门条件andusedept.deptcode=''andusedept.deptname='第二开发部'andusedept.pk_corp='1002'--查询管理部门条件andmandept.deptcode=''andmandept.deptname=''andmandept.pk_corp=''--是否内部完全减少资产(0:否;1:是)and(fa_cardhistory.reduce_flag=0)orderbyfa_card.card_code