300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > tiptop使用java的poi包实现EXCEL导入导出功能

tiptop使用java的poi包实现EXCEL导入导出功能

时间:2020-06-02 17:20:48

相关推荐

tiptop使用java的poi包实现EXCEL导入导出功能

4gl可以调用java的poi包实现EXCEL的导入导出,今天分享一个EXCEL导入的功能!

一:环境搭建

1:poi文件导入

首先下载POI文件(找不到的可以私信我),解压后上传到ERP的服务器中

一般位置放在$TOP/ds4gl2/bin/javaad/jar,当然,你也可以根据喜好自行定义!

然后,在系统中编辑tiptop_env文件,路径在$TOP/bin/tiptop_env 这里(重要文件,编辑前记得备份,弄坏了会导致系统瘫痪)

打开文件,将CLASSPATH 的环境变量添加一个poi文件的路径,

范例:CLASSPATH=$TOP/ds4gl2/bin/poi-3.17.jar:$TOP/ds4gl2/bin/caozq/jxl.jar;export CLASSPATH(系统有CLASSPATH变量用在后面加,用:隔开其他的变量,没有就再文末添加)

2:第一个步骤配置好了后,就可以愉快的调用java的poi包啦~

以下为导入功能使用范例,可以参考

# Pattern name...: cl_import_czq_excel.4gl# Descriptions...: 采用Java POI方式导入MS Excel# Date & Author..: 18/09/18 caozqIMPORT osIMPORT JAVA org.apache.poi.ss.usermodel.IndexedColorsIMPORT JAVA org.apache.poi.hssf.usermodel.HSSFDataFormatIMPORT JAVA org.apache.poi.hssf.usermodel.HSSFWorkbookIMPORT JAVA org.apache.poi.hssf.usermodel.HSSFSheetIMPORT JAVA org.apache.poi.hssf.usermodel.HSSFRowIMPORT JAVA org.apache.poi.hssf.usermodel.HSSFCellIMPORT JAVA org.apache.poi.hssf.usermodel.HSSFCellStyleIMPORT JAVA org.apache.poi.hssf.usermodel.HSSFFontIMPORT JAVA org.apache.poi.poifs.filesystem.POIFSFileSystemIMPORT JAVA java.io.InputStreamIMPORT JAVA java.io.FileInputStreamDATABASE dsGLOBALS "../../config/top.global"DEFINE fs POIFSFileSystemDEFINE wb HSSFWorkbook DEFINE sheetHSSFSheetDEFINE row HSSFRow DEFINE is InputStreamFUNCTION cl_import_czq_excel()DEFINE l_prostr LIKE ze_file.ze03 DEFINE l_fileLocation STRING DEFINE colnum,rowcountINTDEFINE i,jINT DEFINE l_str,l_str1STRINGDEFINE l_tempdir STRINGDEFINE l_filename LIKE type_file.chr1000#选择要导入资料的Excel文件 BEGINLET l_prostr = cl_getmsg("lib-201", g_lang) WHILE TRUE PROMPT l_prostr CLIPPED FOR l_fileLocation ATTRIBUTE(WITHOUT DEFAULTS) ON ACTION browse_document LET l_fileLocation = cl_browse_file() ON ACTION ACCEPT EXIT WHILE ON ACTION CANCEL EXIT WHILE ON IDLE g_idle_seconds CALL cl_on_idle() RETURN END PROMPT END WHILE #选择要导入资料的Excel文件 END LET l_tempdir =fgl_getenv("TEMPDIR") #获取临时文件夹路径LET l_filename = os.Path.basename(l_fileLocation) #获取导入文件名LET l_str = os.Path.join(l_tempdir CLIPPED,l_filename CLIPPED) #拼接成服务器的完整路径IF NOT cl_upload_file(l_fileLocation,l_str) THEN #将文件先上传到临时文件夹CALL cl_err(NULL, "lib-212", 1)RETURN END IF LET is = FileInputStream.create(l_str) LET fs = POIFSFileSystem.create(is)LET wb = HSSFWorkbook.create(fs)LET sheet = wb.getSheetAt(0) #获取EXCEL第一个页签LET row = sheet.getRow(0) #获取第一列标题栏LET colnum = row.getPhysicalNumberOfCells() #获取列总数LET rowcount = sheet.getPhysicalNumberOfRows() #获取总行数FOR i = 1 TO rowcount - 1 #从第二行开始循环 LET row = sheet.getRow(i)FOR j = 0 to colnum-1 #已标题栏列数为准LET l_str1 = row.getCell(j) #这里写程序逻辑END FOREND FOREND FUNCTION

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。