首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails Excel导入超链接

Grails Excel导入超链接
EN

Stack Overflow用户
提问于 2013-07-12 04:32:40
回答 1查看 581关注 0票数 1

我正在尝试使用excel-import插件(基于Apache POI)从Grails中的.xslx电子表格中读取一些数据。

它可以很好地处理所有数据类型,除了有一个超链接(可点击)的主标题。-When我只是将列映射成一个字符串(下面的代码),我只得到标题而没有超级链接。我尝试将预期类型指定为"hyperlink“(来自org.apache.poi.ss.usermodel),但不起作用。

我使用的是excel-import示例项目提供的代码。

代码语言:javascript
复制
static Map CONFIG_BOOK_COLUMN_MAP = [
        sheet: 'Sheet1',
        startRow: 1,
        columnMap: [
                'A': 'title',
                'C': 'createdBy',
                'D': 'createdDate', 
        ]
]

当我将Excel电子表格导出为.csv格式时,超级链接会丢失,但当我将其导出为XML格式时,超级链接会保留下来(但数据似乎嵌套在单元格中?)如下例所示:

代码语言:javascript
复制
<Row ss:AutoFitHeight="0" ss:Height="14.99">
   <Cell ss:HRef="http://longLink..." ss:StyleID="ce2">
        <Data ss:Type="String">Some Text</Data></Cell>

我是grails和groovy的新手,在过去的几天里,我一直在努力解决这个问题。有没有办法做到这一点,因为我不想把所有的XLSX文件都转换成XML,然后再解析那些大文件。我试着搜索是否有人有同样的问题,但我找不到任何类似的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-12 16:59:31

看看source of the plugin,这看起来是不可能的(有人可能会有不同的看法)。如果你觉得勇敢,也许可以发布一个issue requesting the feature --或者添加功能并提交一个拉取请求;-)

使用原始POI可以做到这一点,但如下所示:

代码语言:javascript
复制
import org.apache.poi.hssf.usermodel.*

// Load a workbook with a hyperlink to google in cell 0,0
new File( '/tmp/test.xls' ).withInputStream { ins ->
    new HSSFWorkbook( ins ).with { workbook ->
        workbook.getSheetAt( 0 )
                .getRow( 0 )
                .getCell( 0 ).hyperlink.address == 'http://www.google.com'
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17602924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档