楼主: samt007

Oracle PLSQL读取(解析)Excel文档

[复制链接]
论坛徽章:
12
2012新春纪念徽章
日期:2012-01-04 11:49:54秀才
日期:2015-09-11 10:43:06处女座
日期:2015-07-20 16:19:14懒羊羊
日期:2015-03-09 13:14:372015年新春福章
日期:2015-03-06 11:57:31美羊羊
日期:2015-03-04 14:48:58马上有房
日期:2014-07-21 13:13:25凯迪拉克
日期:2013-09-12 15:56:12蜘蛛蛋
日期:2013-06-18 16:09:38咸鸭蛋
日期:2013-03-14 08:29:23
11#
发表于 2015-5-14 10:56 | 只看该作者
本帖最后由 doni 于 2015-5-14 10:57 编辑
samt007 发表于 2015-5-14 10:50
可以考虑将内容导出到一个逗号分隔符或者Tab分隔符的文档,用Excel打开。另外,我提到的Java POI组件可以 ...

写CSV文件是比较简单的办法
但是如果能达成套表写入就更理想了。(就是写入带有格式的空的XLS文件)
有空看看POI,不知道能不能实现套表,或直接做一些简单的格式,不过JAVA对我来说有点难度(没好好学过JAVA)

使用道具 举报

回复
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02秀才
日期:2017-03-20 13:42:20秀才
日期:2017-07-11 13:54:02
12#
 楼主| 发表于 2015-5-14 11:12 | 只看该作者
doni 发表于 2015-5-14 10:56
写CSV文件是比较简单的办法
但是如果能达成套表写入就更理想了。(就是写入带有格式的空的XLS文件)
有空 ...

其实还有一个很简单的办法的,就是用html的格式的文档,然后用Excel打开。
这样子其实很多特殊的格式都可以实现了。

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
13#
发表于 2015-5-14 11:16 | 只看该作者
good job

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
14#
发表于 2015-5-14 11:20 | 只看该作者
如果用 ODI(Oracle Data Integrator),那就非常简单了

使用道具 举报

回复
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02秀才
日期:2017-03-20 13:42:20秀才
日期:2017-07-11 13:54:02
15#
 楼主| 发表于 2015-5-14 11:23 | 只看该作者
本帖最后由 samt007 于 2015-5-14 11:24 编辑
samt007 发表于 2015-5-14 11:12
其实还有一个很简单的办法的,就是用html的格式的文档,然后用Excel打开。
这样子其实很多特殊的格式都可 ...

给你一个例子:
Excel文档效果:
代码:
下面的代码你贴到文本,然后另存为:测试HTML格式的Excel.xls
就可以了。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 12">
<title>库存接口表数据明细</title>
<style type="text/css">
#mytable {width: 700px; padding: 0; margin: 0; }
caption { padding: 0 0 5px 0; width: 700px; font: italic 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
    text-align: right;}
th { font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
        border-right: 1px solid #C1DAD7;
        border-bottom: 1px solid #C1DAD7;
        border-top: 1px solid #C1DAD7;
        letter-spacing: 2px;
        text-transform: uppercase;
        text-align: left;
        padding: 6px 6px 6px 12px;
        background: #CAE8EA  no-repeat;
        }
th.nobg {
        border-top: 0;
        border-left: 0;
        border-right: 1px solid #C1DAD7;
        background: none;
        }
td {
        border-right: 1px solid #C1DAD7;
        border-bottom: 1px solid #C1DAD7;
        background: #fff;
        font-size:11px;
        padding: 6px 6px 6px 12px;
        /*color: #4f6b72; */
        }
td.alt {
        background: #F5FAFA;
        color: #797268;
        }
th.spec {
        border-left: 1px solid #C1DAD7;
        border-top: 0;
        background: #fff no-repeat;
        font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
        }
html>body td{ font-size:11px;}
    body,td,th {
    font-family: 宋体, Arial;
    font-size: 12px;
    }
</style>
</head>
<body>
<h3 align=center>XYG库存接口表数据明细</h3>
<tr>产生数据请求ID:51489389</tr>
<table width="100%" cellpadding=1 cellspacing=0 border=1 bordercolorlight="#000000" bordercolordark="#FFFFFF" style="font-size:12px">
<tr><th>接口表类型</th><th>组织代码</th><th>组织名称</th><th>单据号码</th><th>交易日期</th><th>交易类型</th><th>交易类型描述</th><th>料号</th><th>库别</th><th>货位</th><th>批次号码</th><th>料号描述</th><th>单位</th><th>接口错误信息</th><th>交易数量(主单位)</th><th>库存数量</th><th>缺量</th><th>接口表ID</th></tr>
<tr><td>事务处理开发接口</td><td>DYJ</td><td>XXXXXXXX</td><td>YDYJ150507007</td><td>2015/05/07 15:17:00</td><td>WIP Issue</td><td>WIP Issue(从库存发放)</td><td>192040000002244</td><td>DYJB-CP</td><td>QGCP</td><td>CB150119012-0011</td><td>8Y0(C)M(XSTB0160-S)#2_J</td><td>片</td><td>事务处理处理器错误-不允许负余量</td><td>-.379745</td><td>.378</td><td>-.001745</td><td>263292790</td></tr>
<tr><td>事务处理开发接口</td><td>DYJ</td><td>XXXXXXXX</td><td>YDYJ150507007</td><td>2015/05/07 15:17:00</td><td>WIP Issue</td><td>WIP Issue(从库存发放)</td><td>192040000002244</td><td>DYJB-CP</td><td>QGCP</td><td>CB150420057-0011</td><td>8Y0(C)M(XSTB0160-S)#2_J</td><td>片</td><td>不允许负余量-数量 必须小于或等于 可处理量</td><td>-1.91</td><td>1.90825</td><td>-.00175</td><td>263292757</td></tr>
</talbe>
</body>
</html>




使用道具 举报

回复
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02秀才
日期:2017-03-20 13:42:20秀才
日期:2017-07-11 13:54:02
16#
 楼主| 发表于 2015-5-14 11:26 | 只看该作者
oracle_cj 发表于 2015-5-14 11:20
如果用 ODI(Oracle Data Integrator),那就非常简单了

其实用Java的POI也很简单。。。只不过我觉得还是用Oracle自己的内置的PKG来解析,效率应该还是很不错的。

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
17#
发表于 2015-5-14 11:29 | 只看该作者
doni 发表于 2015-5-14 10:56
写CSV文件是比较简单的办法
但是如果能达成套表写入就更理想了。(就是写入带有格式的空的XLS文件)
有空 ...

CSV其实就是excel啊,

使用道具 举报

回复
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02秀才
日期:2017-03-20 13:42:20秀才
日期:2017-07-11 13:54:02
18#
 楼主| 发表于 2015-5-14 11:43 | 只看该作者
oracle_cj 发表于 2015-5-14 11:29
CSV其实就是excel啊,

是Excel的样子,但是其本质是逗号分隔符的txt文本。。。
很多栏位的特殊格式不支持。

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
19#
发表于 2015-5-14 11:47 | 只看该作者
samt007 发表于 2015-5-14 11:43
是Excel的样子,但是其本质是逗号分隔符的txt文本。。。
很多栏位的特殊格式不支持。

只是个比喻

因为excel可以另存为CSV格式

使用道具 举报

回复
论坛徽章:
8
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:092014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02秀才
日期:2017-03-20 13:42:20秀才
日期:2017-07-11 13:54:02
20#
 楼主| 发表于 2015-5-14 11:54 | 只看该作者
oracle_cj 发表于 2015-5-14 11:47
只是个比喻

因为excel可以另存为CSV格式

是的。。。。
另外,我猜测他的需求应该是想输出一些特殊格式内容的文档。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表