ERP导出(自定义格式表格)R报表开发代码

这篇具有很好参考价值的文章主要介绍了ERP导出(自定义格式表格)R报表开发代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

按照正常流程新建程序,画面修改上传,程序下载修改

导入JAVA包,在global.import下

 文章来源地址https://www.toymoban.com/news/detail-528797.html

IMPORT com
IMPORT JAVA java.net.URL
IMPORT JAVA org.apache.poi.ss.util.CellRangeAddress
IMPORT JAVA org.apache.poi.ss.util.RegionUtil
IMPORT JAVA java.io.InputStream
IMPORT JAVA java.io.FileInputStream
IMPORT JAVA java.io.FileOutputStream
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFWorkbook
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFSheet
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFRow
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFCell
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFCellStyle
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFFont
IMPORT JAVA org.apache.poi.ss.usermodel.IndexedColors
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFDataFormat
IMPORT JAVA com.fourjs.fgl.lang.FglDecimal
IMPORT JAVA com.fourjs.fgl.lang.FglDate
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFWorkbook
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFSheet
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFRow
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFCell
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFCellStyle
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFFont
IMPORT JAVA org.apache.poi.ss.usermodel.IndexedColors
IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFDataFormat
IMPORT JAVA org.apache.poi.xssf.streaming.SXSSFWorkbook
IMPORT JAVA org.apache.poi.ss.usermodel.CellStyle
IMPORT JAVA org.apache.poi.ss.usermodel.Sheet
IMPORT JAVA org.apache.poi.ss.usermodel.Row
IMPORT JAVA org.apache.poi.ss.usermodel.Cell
IMPORT JAVA org.apache.poi.ss.usermodel.Font
IMPORT JAVA org.apache.poi.ss.usermodel.DataFormat   
IMPORT JAVA org.apache.poi.xssf.usermodel.XSSFWorkbook
IMPORT JAVA org.apache.poi.xssf.usermodel.XSSFSheet
IMPORT JAVA org.apache.poi.xssf.usermodel.XSSFRow
IMPORT JAVA org.apache.poi.xssf.usermodel.XSSFCell
IMPORT JAVA org.apache.poi.xssf.usermodel.XSSFCellStyle
IMPORT JAVA org.apache.poi.xssf.usermodel.XSSFFont
IMPORT JAVA org.apache.poi.xssf.usermodel.XSSFDataFormat

 

在global.variable下添加全局变量

 

DEFINE g_showmsg                       STRING
DEFINE l_xlsfile                       STRING
DEFINE l_xlsname                       STRING
DEFINE l_target                        STRING
DEFINE fo                              FileOutputStream
DEFINE import_file                     InputStream
DEFINE workbook                        XSSFWorkbook
DEFINE sheet                           XSSFSheet
DEFINE row                             XSSFRow
DEFINE cell                            XSSFCell
DEFINE cell_xls                        HSSFCell
DEFINE font1                           XSSFFont
DEFINE font2                           XSSFFont
DEFINE font3                           XSSFFont
DEFINE font4                           XSSFFont
DEFINE format1         DataFormat
DEFINE g_num           FLOAT

 

在DIALOG ATTRIBUTES下添加查询栏位逻辑

 

         ON ACTION controlp INFIELD xcag004
            #add-point:ON ACTION controlp INFIELD xcag004 name="construct.c.xcag004"
            #應用 a08 樣板自動產生(Version:3)
            #開窗c段
            INITIALIZE g_qryparam.* TO NULL
            LET g_qryparam.state = 'c' 
            LET g_qryparam.reqry = FALSE
            CALL q_xcag004()                           #呼叫開窗
            DISPLAY g_qryparam.return1 TO xcag004  #顯示到畫面上
            NEXT FIELD xcag004                     #返回原欄位
    



            #END add-point
 
 
         #應用 a01 樣板自動產生(Version:2)
         BEFORE FIELD xcag004
            #add-point:BEFORE FIELD xcag004 name="construct.b.xcag004"

            #END add-point
 
 
         #應用 a02 樣板自動產生(Version:2)
         AFTER FIELD xcag004
            
            #add-point:AFTER FIELD xcag004 name="construct.a.xcag004"

            #END add-point

 

在process下的process.count_progress下添加调用方法逻辑

 

      CALL cxcr600_create_tmp()
      CALL cxcr600_export_excel()

 

写自己的方法,供上面调用

 

PRIVATE FUNCTION cxcr600_create_tmp()
     DROP TABLE cxcr600_tmp; 
     CREATE TEMP TABLE cxcr600_tmp(
       t_xcah020            LIKE   xcah_t.xcah020,    #bom阶层
       t_xcah004            LIKE   xcah_t.xcah040,    #主件料号
       t_xcah004_desc       LIKE   type_t.chr200,     #主件品名
       t_xcah004_1_desc     LIKE   type_t.chr200,     #主件规格
       t_xcaeud015_sum      LIKE   xcae_t.xcaeud015,  #合计工时
       t_xcah031_a_sum      LIKE   type_t.num20_6,    #合计材料费
       t_price_ws           LIKE   type_t.num20_6,    #未税单价
       t_xcah031_b_sum      LIKE   type_t.num20_6,    #合计人工费
       t_xcah031_b_szb      LIKE   type_t.num20_6,    #人工费用占比
       t_xcah031_a_szb      LIKE   type_t.num20_6,    #材料费用占比
       t_xcah022            LIKE   xcah_t.xcah022,    #元件料号
       t_xcah022_desc       LIKE   type_t.chr200,     #元件品名
       t_xcah022_1_desc     LIKE   type_t.chr200,     #元件规格
       t_xcaeud015          LIKE   xcae_t.xcaeud015,  #各阶段标准工时
       t_xcaeud016          LIKE   xcae_t.xcaeud016,  #各阶段标准机时
       t_xcah031_b          LIKE   type_t.num20_6,    #各阶段人力费
       t_xcah031_a          LIKE   type_t.num20_6,    #各阶段材料费
       t_xcah026            LIKE   xcah_t.xcah026,    #工时占比(各阶段/总)
       t_xcah025            LIKE   xcah_t.xcah025     #材料占比(各阶段/总)
     );

END FUNCTION

PRIVATE FUNCTION cxcr600_ins_tmp(p_imaa001_a)
    DEFINE p_imaa001_a     LIKE imaa_t.imaa001
    DEFINE l_sql           STRING
    DEFINE l_dex           LIKE type_t.num5
    DEFINE l_docno         DYNAMIC ARRAY OF RECORD 
       l_xcah020            LIKE   xcah_t.xcah020,    #bom阶层    
       l_xcah004            LIKE   xcah_t.xcah040,    #主件料号
       l_xcah004_desc       LIKE   type_t.chr200,     #主件品名
       l_xcah004_1_desc     LIKE   type_t.chr200,     #主件规格
       l_xcaeud015_sum      LIKE   xcae_t.xcaeud015,  #合计工时
       l_xcah031_a_sum      LIKE   type_t.num20_6,    #合计材料费
       l_price_ws           LIKE   type_t.num20_6,    #未税单价
       l_xcah031_b_sum      LIKE   type_t.num20_6,    #合计人工费       
       l_xcah031_b_szb      LIKE   type_t.num20_6,    #人工费用占比
       l_xcah031_a_szb      LIKE   type_t.num20_6,    #材料费用占比
       l_xcah022            LIKE   xcah_t.xcah022,    #元件料号
       l_xcah022_desc       LIKE   type_t.chr200,     #元件品名
       l_xcah022_1_desc     LIKE   type_t.chr200,     #元件规格
       l_xcaeud015          LIKE   xcae_t.xcaeud015,  #各阶段标准工时
       l_xcaeud016          LIKE   xcae_t.xcaeud016,  #各阶段标准机时
       l_xcah031_b          LIKE   type_t.num20_6,    #各阶段人力费
       l_xcah031_a          LIKE   type_t.num20_6,    #各阶段材料费
       l_xcah026            LIKE   xcah_t.xcah026,    #工时占比(各阶段/总)
       l_xcah025            LIKE   xcah_t.xcah025     #材料占比(各阶段/总)
    END RECORD
    DEFINE l_num           LIKE type_t.num5

    
    LET l_sql = "DELETE FROM cxcr600_tmp "
    EXECUTE IMMEDIATE l_sql
    
    #插入数据
    LET l_sql = "INSERT INTO cxcr600_tmp
                 SELECT xcah020,xcag004,a.imaal003,a.imaal004,0,0,0,0,0,0,xcah022,b.imaal003,b.imaal004,0,0,0,0,0,0 FROM xcag_t
                 LEFT JOIN xcah_t ON xcagent = xcahent AND xcagsite = xcahsite AND xcag001 = xcah001 AND xcag004 = xcah004
                 LEFT JOIN imaal_t a ON a.imaalent = xcagent AND a.imaal001 = xcag004 AND a.imaal002 = '",g_dlang,"'
                 LEFT JOIN imaal_t b ON b.imaalent = xcahent AND b.imaal001 = xcah022 AND b.imaal002 = '",g_dlang,"'
                 WHERE xcagent = ",g_enterprise," AND xcagsite = '",g_site,"' AND xcah004 = '",p_imaa001_a,"' 
                 AND xcag001 = '101' AND xcah023 = 'A'
                 ORDER BY xcah020 ASC "
    DISPLAY l_sql
    EXECUTE IMMEDIATE l_sql
    
    LET l_sql = " SELECT * FROM cxcr600_tmp "
    PREPARE l_upd_code FROM l_sql
    DECLARE l_upd_curs CURSOR FOR l_upd_code 
 
    CALL l_docno.clear()     #在进入循环之前把二维数组清空
    LET l_dex = 1            #初始化   
 
    FOREACH l_upd_curs INTO l_docno[l_dex].*
      
      #判断如果不属于A或者B料号,就删除,因为存在C,D料号属于A类型
       SELECT COUNT(*) INTO l_num 
       FROM cxcr600_tmp
       WHERE t_xcah022=l_docno[l_dex].l_xcah022 
       AND (t_xcah022 LIKE 'A%' OR t_xcah022 LIKE 'B%')
     IF cl_null(l_num) OR (l_num = 0) THEN
       #删除此料号
       DELETE FROM cxcr600_tmp 
       WHERE t_xcah004 = l_docno[l_dex].l_xcah004 
       AND t_xcah022 = l_docno[l_dex].l_xcah022  
     END IF
      LET l_num = 0
      LET l_dex = l_dex + 1
    
    END FOREACH
    
    
END FUNCTION

PRIVATE FUNCTION cxcr600_get_data(p_imaa001_a)
    DEFINE p_imaa001_a     LIKE imaa_t.imaa001
    DEFINE l_sql           STRING
    DEFINE l_dex           LIKE type_t.num5           #数组循环变量
    DEFINE l_num           LIKE type_t.num5           #判断是否夹治具
    DEFINE l_num1          LIKE xcah_t.xcah025        #上阶主件底数
    DEFINE l_num2          LIKE xcah_t.xcah026        #上阶组成用量
    DEFINE l_money_sh      LIKE type_t.num20_6        #主件损耗
    
    DEFINE l_docno         DYNAMIC ARRAY OF RECORD  
       l_xcah004            LIKE   xcah_t.xcah040,    #主件料号
       l_xcah004_desc       LIKE   type_t.chr200,     #主件品名
       l_xcah004_1_desc     LIKE   type_t.chr200,     #主件规格
       l_xcaeud015_sum      LIKE   xcae_t.xcaeud015,  #合计工时
       l_xcah031_a_sum      LIKE   type_t.num20_6,    #合计材料费
       l_price_ws           LIKE   type_t.num20_6,    #未税单价
       l_xcah031_b_sum      LIKE   type_t.num20_6,    #合计人工费
       l_xcah031_b_szb      LIKE   type_t.num20_6,    #人工费用占比
       l_xcah031_a_szb      LIKE   type_t.num20_6,    #材料费用占比
       l_xcah022            LIKE   xcah_t.xcah022,    #元件料号
       l_xcah022_desc       LIKE   type_t.chr200,     #元件品名
       l_xcah022_1_desc     LIKE   type_t.chr200,     #元件规格
       l_xcaeud015          LIKE   xcae_t.xcaeud015,  #各阶段标准工时
       l_xcaeud016          LIKE   xcae_t.xcaeud016,  #各阶段标准机时
       l_xcah031_b          LIKE   type_t.num20_6,    #各阶段人力费
       l_xcah031_a          LIKE   type_t.num20_6,    #各阶段材料费
       l_xcah026            LIKE   xcah_t.xcah026,    #工时占比(各阶段/总)
       l_xcah025            LIKE   xcah_t.xcah025     #材料占比(各阶段/总)
    END RECORD
    
   
    #======================================页签==============================================================
    CALL cxcr600_ins_tmp(p_imaa001_a)
    
    LET l_sql = " SELECT t_xcah004,t_xcah004_desc,t_xcah004_1_desc,t_xcaeud015_sum,t_xcah031_a_sum,
                  t_price_ws,t_xcah031_b_sum,t_xcah031_b_szb,t_xcah031_a_szb,t_xcah022,t_xcah022_desc,
                  t_xcah022_1_desc,t_xcaeud015,t_xcaeud016,t_xcah031_b,t_xcah031_a,t_xcah026,t_xcah025 
                  FROM cxcr600_tmp ORDER BY t_xcah020 ASC "
     
    PREPARE l_get_code FROM l_sql
    DECLARE l_get_curs CURSOR FOR l_get_code 
   
    CALL l_docno.clear()     #在进入循环之前把二维数组清空
    LET l_dex = 1            #初始化   
    LET l_money_sh = 0       #初始化损耗
    FOREACH l_get_curs INTO l_docno[l_dex].*
      
      #1、标准工时 取阶段料号对应的工时和
      SELECT SUM(xcaeud015) INTO l_docno[l_dex].l_xcaeud015 FROM xcae_t 
      WHERE xcaeent = g_enterprise AND xcaesite = g_site 
      AND xcaestus = 'Y' AND xcae002 = l_docno[l_dex].l_xcah004
      AND xcaeud001 = l_docno[l_dex].l_xcah022
      
      IF cl_null(l_docno[l_dex].l_xcaeud015) THEN 
            LET l_docno[l_dex].l_xcaeud015 = 0
      END IF
      
      #2、标准机时 取阶段料号对应的机时和
      SELECT SUM(xcaeud016) INTO l_docno[l_dex].l_xcaeud016 FROM xcae_t 
      WHERE xcaeent = g_enterprise AND xcaesite = g_site 
      AND xcaestus = 'Y' AND xcae002 = l_docno[l_dex].l_xcah004
      AND xcaeud001 = l_docno[l_dex].l_xcah022
      
      IF cl_null(l_docno[l_dex].l_xcaeud016) THEN 
            LET l_docno[l_dex].l_xcaeud016 = 0
      END IF
      
      #3、人力成本 取阶段料号对应的成本直接人工+间接一、二
      SELECT (xcah031b+xcah031d+xcah031e) INTO l_docno[l_dex].l_xcah031_b FROM xcah_t
      WHERE xcahent = g_enterprise AND xcahsite = g_site AND xcah001 = '101'
      AND xcah004 = l_docno[l_dex].l_xcah004 AND xcah022 = l_docno[l_dex].l_xcah022
      
      #4、材料成本 如果是夹治具,直接去成本材料费;不是的话,取它对应的下阶材料费加上它自身的损耗
      #取数判断是否夹治具
      SELECT imaaud011 INTO l_num FROM imaa_t
      WHERE imaaent = g_enterprise AND imaastus = 'Y'
      AND imaa001 = l_docno[l_dex].l_xcah022
      
      SELECT xcah025 INTO l_num1 FROM xcah_t
      WHERE xcahent = g_enterprise AND xcahsite = g_site AND xcah001 = '101'
      AND xcah004 = l_docno[l_dex].l_xcah004 AND xcah022 = l_docno[l_dex].l_xcah022
      
      SELECT xcah026 INTO l_num2 FROM xcah_t
      WHERE xcahent = g_enterprise AND xcahsite = g_site AND xcah001 = '101'
      AND xcah004 = l_docno[l_dex].l_xcah004 AND xcah022 = l_docno[l_dex].l_xcah022
      
      #损耗=单位材料*组成用量/主件底数/(1-损耗)-单位材料*组成用量/主件底数 更新到主件中去
      SELECT (xcah030a*xcah026/xcah025/(1-xcah027/100)-xcah030a*xcah026/xcah025) INTO l_money_sh FROM xcah_t
      WHERE xcahent = g_enterprise AND xcahsite = g_site AND xcah001 = '101'
      AND xcah004 = l_docno[l_dex].l_xcah004 AND xcah040 = l_docno[l_dex].l_xcah022
      AND xcah023 = 'A' AND xcah022 IN (
                                           SELECT imaa001 FROM imaa_t
                                           WHERE imaaent = g_enterprise AND imaastus = 'Y'
                                           AND (imaaud011 = 0 OR imaaud011 IS NULL)
                                           )
      IF cl_null(l_money_sh) THEN
         LET l_money_sh = 0
      END IF
      #判断是否夹治具料号,如果是直接取夹治具材料成本,否则的话取下阶材料和
      IF l_num <> 0 THEN
         SELECT xcah031a INTO l_docno[l_dex].l_xcah031_a FROM xcah_t
         WHERE xcahent = g_enterprise AND xcahsite = g_site AND xcah001 = '101'
         AND xcah004 = l_docno[l_dex].l_xcah004 AND xcah022 = l_docno[l_dex].l_xcah022
      ELSE
         SELECT SUM(xcah031a/l_num1*l_num2) INTO l_docno[l_dex].l_xcah031_a FROM xcah_t
         WHERE xcahent = g_enterprise AND xcahsite = g_site AND xcah001 = '101'
         AND xcah004 = l_docno[l_dex].l_xcah004 AND xcah023 = 'M' AND xcah040 = l_docno[l_dex].l_xcah022
         AND xcah020 IN (
                        SELECT xcah020+1 FROM xcah_t
                        WHERE xcahent = g_enterprise AND xcahsite = g_site AND xcah001 = '101'
                        AND xcah004 = l_docno[l_dex].l_xcah004 AND xcah022 = l_docno[l_dex].l_xcah022
                        )
         #如果下阶无材料,费用为空,另它等于零
         IF cl_null(l_docno[l_dex].l_xcah031_a) THEN 
            LET l_docno[l_dex].l_xcah031_a = 0
         END IF
         #费用加上它的损耗
         LET l_docno[l_dex].l_xcah031_a = l_docno[l_dex].l_xcah031_a+l_money_sh
         LET l_money_sh = 0
      END IF
      
      IF cl_null(l_docno[l_dex].l_xcah031_a) THEN 
         LET l_docno[l_dex].l_xcah031_a = 0
      END IF
      
      #5、合计人工 取axci006里面主件直接+间接
      SELECT (xcag102b+xcag102d+xcag102e) INTO l_docno[l_dex].l_xcah031_b_sum FROM xcag_t
      WHERE xcagent = g_enterprise AND xcagsite = g_site 
      AND xcag001 = '101' AND xcag004 = l_docno[l_dex].l_xcah004
      
      
      #6、合计材料 直接取axci006主件材料费
      SELECT xcag102a INTO l_docno[l_dex].l_xcah031_a_sum FROM xcag_t
      WHERE xcagent = g_enterprise AND xcagsite = g_site 
      AND xcag001 = '101' AND xcag004 = l_docno[l_dex].l_xcah004
      
      #7、合计工时 取axci005里面所有工时和
      SELECT SUM(xcaeud015) INTO l_docno[l_dex].l_xcaeud015_sum FROM xcae_t
      WHERE xcaeent = g_enterprise AND xcaesite = g_site 
      AND xcaestus = 'Y' AND xcae002 = l_docno[l_dex].l_xcah004
      
      #8、未税单价
      LET l_docno[l_dex].l_price_ws = cxcr600_get_price(l_docno[l_dex].l_xcah004)
      
      #9、主件人工占比
      LET l_docno[l_dex].l_xcah031_b_szb = l_docno[l_dex].l_xcah031_b_sum/l_docno[l_dex].l_price_ws
      
      
      #10、主件材料占比
      LET l_docno[l_dex].l_xcah031_a_szb = l_docno[l_dex].l_xcah031_a_sum/l_docno[l_dex].l_price_ws
      
      #11、工时占比
      LET l_docno[l_dex].l_xcah026= l_docno[l_dex].l_xcaeud015/l_docno[l_dex].l_xcaeud015_sum
      
      #12、材料占比
      LET l_docno[l_dex].l_xcah025 = l_docno[l_dex].l_xcah031_a/l_docno[l_dex].l_xcah031_a_sum

      LET l_dex = l_dex + 1
    END FOREACH

    CALL l_docno.deleteElement(l_docno.getLength())
    
    
    RETURN l_docno
    
    
    
END FUNCTION

PRIVATE FUNCTION cxcr600_export_excel()
 DEFINE style2                    XSSFCellStyle
 DEFINE style3                    XSSFCellStyle
 DEFINE style3_5                  XSSFCellStyle
 DEFINE style4                    XSSFCellStyle
 DEFINE style4_1                  XSSFCellStyle
 DEFINE style4_3                  XSSFCellStyle
 DEFINE style4_3_1                XSSFCellStyle
 DEFINE style5                    XSSFCellStyle
 DEFINE style6                    XSSFCellStyle
 DEFINE style7                    XSSFCellStyle
 DEFINE style8                    XSSFCellStyle
 DEFINE style9                    XSSFCellStyle
 DEFINE workbook                  XSSFWorkbook
 DEFINE l_str                     STRING
 DEFINE l_cnt                     LIKE type_t.num10
 DEFINE l_i                       LIKE type_t.num5
 DEFINE l_n                       LIKE type_t.num5
 DEFINE l_n2                      LIKE type_t.num5
 DEFINE l_fileloc                 STRING
 DEFINE l_length                  LIKE type_t.num10
 DEFINE region                    CellRangeAddress
 DEFINE l_m                       LIKE type_t.num5
 DEFINE l_flag                    LIKE type_t.chr100
 DEFINE l_n1                      LIKE type_t.num5
 DEFINE l_num                     FLOAT
 DEFINE li_font_size              LIKE type_t.num5
 DEFINE l_time                    LIKE pmaa_t.pmaacrtdt
 DEFINE l_string                  LIKE type_t.chr200
 DEFINE l_dex                     LIKE type_t.num5
 DEFINE l_m_n                     LIKE type_t.num5
 DEFINE l_number                  FLOAT
 DEFINE l_sql                     STRING
 DEFINE l_row                     LIKE type_t.num10
 DEFINE l_row1                    LIKE type_t.num10
 DEFINE l_sum_days                LIKE type_t.num5
 DEFINE l_imaa001                 LIKE imaa_t.imaa001             
 DEFINE r_docno         DYNAMIC ARRAY OF RECORD  
       l_xcah004            LIKE   xcah_t.xcah040,    #主件料号
       l_xcah004_desc       LIKE   type_t.chr200,     #主件品名
       l_xcah004_1_desc     LIKE   type_t.chr200,     #主件规格
       l_xcaeud015_sum      LIKE   xcae_t.xcaeud015,  #合计工时
       l_xcah031_a_sum      LIKE   type_t.num20_6,    #合计材料费
       l_price_ws           LIKE   type_t.num20_6,    #未税单价
       l_xcah031_b_sum      LIKE   type_t.num20_6,    #合计人工费
       l_xcah031_b_szb      LIKE   type_t.num20_6,    #人工费用占比
       l_xcah031_a_szb      LIKE   type_t.num20_6,    #材料费用占比
       l_xcah022            LIKE   xcah_t.xcah022,    #元件料号
       l_xcah022_desc       LIKE   type_t.chr200,     #元件品名
       l_xcah022_1_desc     LIKE   type_t.chr200,     #元件规格
       l_xcaeud015          LIKE   xcae_t.xcaeud015,  #各阶段标准工时
       l_xcaeud016          LIKE   xcae_t.xcaeud016,  #各阶段标准机时
       l_xcah031_b          LIKE   type_t.num20_6,    #各阶段人力费
       l_xcah031_a          LIKE   type_t.num20_6,    #各阶段材料费
       l_xcah026            LIKE   xcah_t.xcah026,    #工时占比(各阶段/总)
       l_xcah025            LIKE   xcah_t.xcah025     #材料占比(各阶段/总)
 END RECORD
 DEFINE l_date       LIKE type_t.dat
 DEFINE l_day        LIKE type_t.num5
 DEFINE l_field      LIKE type_t.chr200
 DEFINE l_i_dex      LIKE type_t.num10

 CALL ui.Interface.frontCall("standard","opendir",["C:", "File Browser"],[g_showmsg])
 
 LET workbook = XSSFWorkbook.create()   #创建工作簿
 
 #设定EXCEL单元格式1
 LET style2 = workbook.createCellStyle()
 CALL style2.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER)
 CALL style2.setAlignment(XSSFCellStyle.ALIGN_CENTER)    
 CALL style2.setBorderBottom(XSSFCellStyle.BORDER_THIN)
 CALL style2.setBorderLeft(XSSFCellStyle.BORDER_THIN)
 CALL style2.setBorderTop(XSSFCellStyle.BORDER_THIN)
 CALL style2.setBorderRight(XSSFCellStyle.BORDER_THIN)
 CALL style2.setWrapText(true)
 
 #设定EXCEL单元格式2 包涵背景颜色 
 LET style3 = workbook.createCellStyle()
 #CALL style3.setFillForegroundColor(IndexedColors.LIME.getIndex())
 CALL style3.setFillForegroundColor(IndexedColors.WHITE.getIndex())
 CALL style3.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND)
 CALL

到了这里,关于ERP导出(自定义格式表格)R报表开发代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Zotero插件「Better BibTex」实现自定义导出格式

    最近在撰写论文时,由于发现Zotero+Better BibTex导出参考文献时,会与Google Scholar上有诸多不一致,引起了很多不必要的麻烦,奈何网上关于如何自定义导出格式的教程寥寥无几,在查阅官方文档后,经过一番摸索,将最终的设置整理如下。 Better BibTex(官方文档)是针对文献管

    2024年02月05日
    浏览(107)
  • angular框架表格自定义导出,ui组件库为【devExpress by devExtreme】导出插件为exceljs、file-saver

    使用的ui组件库为devExtreme 注意:如果你没有使用这个组件库,那 后续的代码可能对你不适用!!! ,因为devExtreme和exceljs是结合着来的 其地址如下: devexpress https://js.devexpress.com/ 导出使用的是ExcelJS 其地址如下: exceljs https://github.com/exceljs/exceljs/blob/master/README_zh.md 安装exce

    2024年02月09日
    浏览(41)
  • sheetJs / xlsx-js-style 纯前端实现导出 excel 表格及自定义单元格样式

    xlsx 地址:https://www.npmjs.com/package/xlsx SheetJs 地址:https://docs.sheetjs.com/docs/ xlsx-js-style 地址:https://www.npmjs.com/package/xlsx-js-style !cols 设置列宽 cols 为一个对象数组,依次表示每一列的宽度 wpx 字段表示以像素为单位,wch 字段表示以字符为单位 hidden 如果为真,则隐藏该列 !rows 设

    2024年02月06日
    浏览(29)
  • Java 使用hutool工具进行导出导入excel表格(代码很简单)

    创建一个Controller进行测试 

    2024年02月07日
    浏览(54)
  • 低代码开发ERP:精打细算,聚焦核心投入

    企业数字化转型已经成为现代商业环境中的一项关键任务。如今,企业面临着日益激烈的竞争和不断变化的市场需求。在这样的背景下,数字化转型不仅是企业生存的必然选择,也是取得竞争优势和实现可持续发展的关键因素。 在数字化转型的过程中,企业资源规划(ERP)系

    2024年02月12日
    浏览(25)
  • 【Draw.io】让Draw.io导出的SVG格式图片包含自定义属性信息

    Draw.io重度用户一枚 这个Draw.io是一个极其好用的跨平台流程图绘制软件。 它保存的文件格式可以输出成SVG格式. 这个是基本功能了,没啥好说的 导出之后得到画的图片的SVG代码 SVG代码,也没啥好说的,一种矢量图片格式。 但是,我突然有一个想法 如果可以通过代码控制生成

    2024年02月05日
    浏览(38)
  • 低代码制造ERP管理系统:降低开发成本,提高生产效率

    随着制造业的快速发展,ERP管理系统成为了现代制造业中不可或缺的一部分。ERP管理系统可以帮助企业更好地管理生产流程、库存和供应链等方面,从而提高企业的生产效率和竞争力。然而,传统的ERP管理系统往往需要大量的编程工作和长周期的开发过程,这对于一些中小型

    2024年02月12日
    浏览(39)
  • 低代码助力ERP开发:实现负担得起、灵活与高效的解决方案

    企业资源规划工具或 ERP 不再为大型国际企业所保留。如今,从 SME 到大型企业,各种规模的企业都使用 ERP 软件来管理其核心流程。全球ERP 软件市场每年价值超过 250 亿美元,年增长率为 10% 到 20%。如此巨大增长的原因是什么? ERP 系统将您所有不同的工具/应用程序(包括库

    2024年02月19日
    浏览(46)
  • 前端开发中ui(antd)表格导出为excel。详细步骤一看就会

    我们在开发的时候往往有这样的需求,将页面上的表格导出为excel文件。以随手写的demo为例。   1、首先我们需要下载一个插件,用于将页面中的数据转为excel文件            可以通过我们的package.json文件去查看是否安装好 2、在我们需要用到的页面去引用  3、定义触发

    2024年02月15日
    浏览(31)
  • Excel报表框架(ExcelReport)极简化解决复杂报表导出问题

    耗费了半个月的时间,终于在元旦这三天把报表框架开发完成了,使用该框架你可以非常方便的导出 复杂的Excel报表 。 项目开源地址: Gitee Github 不知道各位在使用POI开发报表导出过程中遇到过以下的情况: 频繁的使用中间变量记录报表数据写到那个Cell中了。 一个复杂的报

    2024年02月03日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包