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

tiptop使用java的poi包实现EXCEL导入导出功能4gl 可以调用 java 的 poi 包实现 EXCEL 的导入导出 今天分享一个 EXCEL 导入的功能 一 环境搭建 1 poi 文件导入首先下载 POI 文件 找不到的可以私信我 解压后上传到 ERP 的服务器中一般位置放在 TOP ds4gl2 bin javaad jar 当然 你也可以根据喜好自行定义 然后 在系统中编辑 tiptop env 文件 路径在 TOP bin tiptop env

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

# Pattern name...: cl_import_czq_excel.4gl # Descriptions...: 采用Java POI方式导入MS Excel # Date & Author..: 18/09/18 caozq IMPORT os IMPORT JAVA org.apache.poi.ss.usermodel.IndexedColors IMPORT JAVA org.apache.poi.hssf.usermodel.HSSFDataFormat 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.poifs.filesystem.POIFSFileSystem IMPORT JAVA java.io.InputStream IMPORT JAVA java.io.FileInputStream DATABASE ds GLOBALS "../../config/top.global" DEFINE fs POIFSFileSystem DEFINE wb HSSFWorkbook DEFINE sheet HSSFSheet DEFINE row HSSFRow DEFINE is InputStream FUNCTION cl_import_czq_excel() DEFINE l_prostr LIKE ze_file.ze03 DEFINE l_fileLocation STRING DEFINE colnum,rowcount INT DEFINE i,j INT DEFINE l_str,l_str1 STRING DEFINE l_tempdir STRING DEFINE l_filename LIKE type_file.chr1000 #选择要导入资料的Excel文件 BEGIN LET 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 FOR END FOR END FUNCTION

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215391.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:01
下一篇 2026年3月18日 下午2:02


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号