我们在java应用程序中有一个新的需求,用户将上传一个excel文件。excel文件中的一列将使用粗体、斜体、项目符号、彩色文本等进行格式化。
我们计划将Apache-poi用于相同的操作,但现在我们遇到了HSSFrichTextString
对象的问题,该对象需要转换为存储到Oracle表中的格式。
HSSFrichTextString
的toString()
方法提供字符串,但格式丢失。有人可以建议我如何将这个HSSFrichTextString
对象转换为Oracle数据类型(最好是clob)。
您是正确的,toString()
方法将只返回HSSFrichTextString
的未格式化的String
内容。
下面是从HSSFrichTextString
提取所有其他重要数据的方法,这些数据将与字符串值一起存储。
与我对此问题的回答非常相似,从HSSFrichTextString
中提取富文本格式信息,并将这些数据存储在将要创建的类中,formattingrun
。
public class FormattingRun {
private int beginIdx;
private int length;
private short fontIdx;
public FormattingRun(int beginIdx, int length, short fontIdx) {
this.beginIdx = beginIdx;
this.length = length;
this.fontIdx = fontIdx;
}
public int getBegin() { return beginIdx; }
public int getLength() { return length; }
public short getFontIndex { return fontIdx; }
}
HSFFRichTextString
.短
字体索引现在,数据的实际提取:
List<FormattingRun> formattingRuns = new ArrayList<FormattingRun>();
int numFormattingRuns = richTextString.numFormattingRuns();
for (int fmtIdx = 0; fmtIdx < numFormattingRuns; fmtIdx)
{
int begin = richTextString.getIndexOfFormattingRun(fmtIdx);
short fontIndex = richTextString.getFontOfFormattingRun(fmtIdx);
// Walk the string to determine the length of the formatting run.
int length = 0;
for (int j = begin; j < richTextString.length(); j++)
{
short currFontIndex = richTextString.getFontAtIndex(j);
if (currFontIndex == fontIndex)
length++;
else
break;
}
formattingRuns.add(new FormattingRun(begin, length, fontIndex));
}
要在数据库中存储此数据,首先要认识到HSSFrichTextString
和Formattingrun
之间存在一对多关系。因此,在计划存储富文本字符串数据的任何Oracle表中,都需要创建与另一个存储格式化运行数据的新表的外键关系。类似于这样:
Table: rich_text_string
rts_id NUMBER
contents VARCHAR2(4000)
Table: rts_formatting_runs
rts_id NUMBER
run_id NUMBER
run_pos NUMBER
run_len NUMBER
font_index NUMBER
只是要小心--字体索引只在工作簿内有效。您还需要存储HSSFWorkbook
中的字体信息,以赋予font_index
含义。
它不存储为CLOB
,但是可以说,这样存储数据更有意义。
我有书的摘要,我想显示给用户。在firebase中存储富文本以显示给用户的最佳方式是什么?我应该使用firebase数据库吗?我有一个包含所有书籍的数据库,我只是要为书籍摘要文本创建一个列。
我必须写一个程序: 提示用户输入输入文件的名称, 从输入文件中读取数据,并将有关汽车的信息存储在汽车对象数组列表中, 将数组列表中未排序的数据打印到屏幕上,如下所示: 我想不出前三步该怎么做。 我也有两个类,与这个项目,并将添加他们,如果需要/需要。因此,基本上只需要帮助了解如何从用户那里读取文本文件,将文本文件的内容添加到ArrayList中,并以格式化的方式打印出ArrayList的内容(我的
问题内容: 我有一个文件,其内容为python列表的形式,如下所示: 有什么办法可以将python文件读回到列表对象中吗?而不是使用整个文件,而是将其读取为字符串。 编辑:对于那些可能有兴趣的人,我使用(import ast)遇到了一个奇怪的问题,作为解决上述问题的建议。 我在其中使用的程序具有从yahoo finance python模块获取历史股票数据的功能。此函数与ast.literal_e
我是编程界的新手。嗯,我正在尝试使用ApachePOI库读取excel文件(5行5列)。我实际上有两个相同问题的实现。在第一个代码片段中,我只是读取excel文件并将其打印到控制台中。 然而,现在我正试图将读取的excel数据保存到一个数组中。所以我想在动态获取excel行和列大小后设置数组大小。但令我惊讶的是,当我执行第二个代码段时,似乎“while(cellIterator.hasNext()
到目前为止,我们介绍了如何处理数据以及如何构建、训练和测试深度学习模型。然而在实际中,我们有时需要把训练好的模型部署到很多不同的设备。在这种情况下,我们可以把内存中训练好的模型参数存储在硬盘上供后续读取使用。 读写NDArray 我们可以直接使用save函数和load函数分别存储和读取NDArray。下面的例子创建了NDArray变量x,并将其存在文件名同为x的文件里。 from mxnet im
问题内容: 有什么方法可以读取文本文件并将内容存储在Jtable中?我有一个文本文件,其中包含有关某些过程的某些信息。就像一个具有列和各自值的表。是否可以获取.txt文件的内容并以Jtable的形式显示?我正在使用Eclipse和Window Builder。任何帮助将不胜感激。谢谢! 问题答案: 我将研究Oracle的教程: 读/写文本文件 JTable教程 当从文本文件中获取数据时,您需要将其