wm

#Close main window
wm withdraw .
# Show main window
wm deiconify .

转载于:https://www.cnblogs.com/greencolor/archive/2011/08/12/2135817.html

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
### Oracle WM_CONCAT 函数的用法和替代方案 Oracle 中的 `WM_CONCAT` 是一个早期版本中常用的字符串聚合函数,用于将多行数据合并为一个字符串。该函数在 Oracle 10g 及更早版本中默认存在,但在后续版本(如 11g、12c、19c)中已被移除[^1]。 #### WM_CONCAT 的基本用法 在支持该函数的版本中,`WM_CONCAT` 可用于将某一列的多行数据合并为逗号分隔的字符串: ```sql SELECT WM_CONCAT(username) AS usernames FROM sys_user; ``` 此语句将 `sys_user` 表中的 `username` 字段值合并为一个字符串,各值之间以逗号分隔。若需去重,可结合 `DISTINCT` 使用: ```sql SELECT WM_CONCAT(DISTINCT username) AS usernames FROM sys_user; ``` 但需要注意的是,`WM_CONCAT` 返回的类型为 `VARCHAR2`,因此在处理大量数据时可能会受到 4000 字节长度限制的影响[^1]。 #### WM_CONCAT 的替代方案 由于 `WM_CONCAT` 在新版本中不再支持,Oracle 提供了更强大的聚合函数 `LISTAGG` 作为替代方案: ```sql SELECT LISTAGG(username, ',') WITHIN GROUP (ORDER BY username) AS usernames FROM sys_user; ``` 该语句实现了与 `WM_CONCAT` 类似的功能,但支持排序、去重和更长的字符串输出[^3]。 对于需要兼容旧版本(如 10g)的系统,可以考虑使用 `XMLAGG` 与 `XMLELEMENT` 结合的方式实现字符串聚合: ```sql SELECT RTRIM(XMLAGG(XMLELEMENT(e, username || ',')).EXTRACT('//text()'), ',') AS usernames FROM sys_user; ``` 这种方式适用于不支持 `LISTAGG` 的数据库版本,且可以处理较长的字符串输出。 #### 恢复 WM_CONCAT 函数的方法 在某些情况下,若仍需使用 `WM_CONCAT` 函数,可通过手动重建方式恢复其功能。例如,可使用 `wmsys` 用户登录数据库并解锁相关权限: ```sql ALTER USER wmsys ACCOUNT UNLOCK; ALTER USER wmsys IDENTIFIED BY your_password; ``` 然后使用 `wmsys` 用户登录并重新创建 `WM_CONCAT` 函数[^2]。 #### 注意事项 - `WM_CONCAT` 返回结果为 `VARCHAR2` 类型,长度受限于数据库设置。 - 在 Oracle 11g 及以上版本中,推荐使用 `LISTAGG` 替代 `WM_CONCAT`。 - 若需兼容旧系统,可使用 `XMLAGG` 实现聚合拼接。 - 手动恢复 `WM_CONCAT` 需谨慎操作,确保权限和用户安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值