小编j0h*_*hny的帖子

为什么 Office OpenXML 在标签之间拆分文本以及如何防止它?

我目前正在尝试使用PHPWord库及其模板系统处理 docx 文件。我已经找到并更新了这个库的路径(不记得名字,但它不重要)可以处理表(复制它的行,然后在每一行上使用 PHPWord 的标准 setValue())。

如果我创建自己的文档,xml中的数据是正常结构,所以要替换的变量 ${variable} 在它自己的标签中,如下所示:

<w:tbl>
    <w:tr>
        ...
         ${variable}
    </w:tr>
</w:tbl>
Run Code Online (Sandbox Code Playgroud)

我简化了代码,在实际代码中还有许多其他标签描述大小、样式等。

我的问题是我必须从其他人那里处理文件,我被禁止进行重大更改,我得到了一份文件,其中在某些时候它们是一个带有一个空白行的表格。我添加了 ${variable} 变量并通过 PHPWord 运行它。问题是,它失败了。经过一番研究,我发现源 XML 如下所示:

    ....
        ...
         ${va

        ...
         riab

        ...
         le}
    ....
Run Code Online (Sandbox Code Playgroud)

(再次大大简化,但你得到了图片)

这种结构对我来说是个问题,因为克隆行的函数使用 strpos()、substr() 和正则表达式来工作,并且不适用于这种结构(我无法想象这样做的优雅方式)。

所以问题是 - 有谁知道为什么 docx 这样做以及如何阻止他?我正在通过 word 而不是 PHP 寻找解决方案(我需要当前的函数无需太多编辑即可工作)

docx openxml phpword

4
推荐指数
1
解决办法
4730
查看次数

通过openCSV填充Javabean - 代码说明

我刚开始使用Java并且有很多缺少的知识,但我需要编写一个简单的类,它将使用openCSV将csv文件转换为JavaBean.我在这里找到了类似排队的一些答案,但没有人能够帮助我.到目前为止,已经有了这样的代码:

ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy(); 
strat.setType(YourOrderBean.class); 
String[] columns = new String[] {"name", "orderNumber", "id"}; // the fields to bind do in your JavaBean 
strat.setColumnMapping(columns); 
CsvToBean csv = new CsvToBean(); 
List list = csv.parse(strat, yourReader);
Run Code Online (Sandbox Code Playgroud)

它位于openCSV常见问题解答网站上,另外还有一个问题.问题是我无法找到规范对象ColumnPositionMappingStrategy应该是什么样子以及应该在strat.setType语句(YourOrder Bean.class)中传递的内容.setColumnMapping方法对我来说也是不行的,但我相信当我知道其余的时候,我可以自己想出一个...

有人会更友好地解释这些代码吗?openCSV文档对我来说非常简短,因为我缺乏一些基本的Java知识(来自PHP,它有很大的不同)

提前致谢!

java opencsv

3
推荐指数
1
解决办法
7988
查看次数

CSS 100%宽度布局有两个面板 - 为什么它不起作用?

我确信有很多关于100%布局的simillar问题,但首先我找不到一个有这个问题的问题,其次我想知道为什么会这样.

我正在尝试使用div和CSS创建一个流畅的布局.我完全可以自由地使用CSS3优势,最重要的是,我希望它尽可能清晰.

我开始创建包装器,里面有一个100px的高度标头.然后我做了250px宽度导航(我也尝试了25%,但结果是相同的)和50px高度的页脚.所有其他尺寸均为100%或使用CSS3 calc(100% - 150px)函数.问题是bellow标题中的元素甚至没有显示在视口中.通过很少的实验,我得到了显示的元素,但是内容div显示的问题低于其他所有(而不是左侧面板)或页脚中间的页脚溢出(绝对定位),因此它们都没有工作,他们都很脏.

我试过花车,各种尺寸,用另一个div包裹柱子,但仍然,我找不到解决方案.

这是我的代码

HTML:

<header id="head"></header>
<div id="over">

    <nav id="side-nav"></nav>

    <div id="content"></div>

</div>
<footer id="main-foot"></footer>
Run Code Online (Sandbox Code Playgroud)

CSS:

html, body {
    height: 100%;
    padding: 0px;
    margin: 0px;
    background-color: white;
}

#over {
    height: auto;
    min-height: calc(100% - 150px);
}

#head {
    height: 100px;
    width: 100%;
        background-color: #D1C5C5;
}

#side-nav {
    float: left;
    height: 100%;
    width: 250px;
    background-color: #AFAFC9;
}

#content {
    float: left;
    height: 100%;
    width: calc(100% - 250px);
    background-color: #AFC9B0;
}

#main-foot {
    clear: both;
    width: …
Run Code Online (Sandbox Code Playgroud)

html css layout css3 liquid

2
推荐指数
1
解决办法
1855
查看次数

Postgresql 上的部分字符串全文搜索

我被指派在 PostgreSql 9.3 上开发全文搜索功能,如果我能听到有关此事的其他意见和建议,我将非常高兴。

问题是,我需要实现部分单词匹配。用户将发送一个字符串,其中可以包含部分单词,用空格分隔,并且没有顺序。

例如:字符串“lue ped zeb”应该找到包含“Blue striped zebra”的行(在一列中)。它应该不区分大小写,并且单词的顺序不重要(但这些条件在这个问题中并不重要)。

问题是性能。数据库表中有超过 500 万行需要执行搜索,我需要非常短的执行时间。

示例查询是“SELECT * FROM table WHERE LOWER(text) LIKE ('%lue%ped%zeb');”,我怀疑这会非常慢,因为第一个位置的通配符将导致查询忽略索引。

到目前为止,我找到了http://www.sai.msu.su/~megera/wiki/wildspeed,这是一个可以帮助我的索引(在这种情况下索引的大小并不重要),但是生产服务器运行的是 MS Windows,我不知道这个扩展是否能够在 Windows 上编译。(我会尝试并更新我的问题)。

我不是数据库开发人员,通常仅在应用程序中使用 Postgres,因此我在数据库优化和较低级别操作方面没有太多经验。

有没有人有类似问题的经验、建议或例子可以帮助我完成这项任务?

database postgresql performance full-text-search

2
推荐指数
1
解决办法
6876
查看次数