我试图在我创建的相同PPTX模板上基于不同的输入/为不同的用户生成几个报告(即N个PPTX文件)。
我在PPTX模板上有几个预格式化的XSLFTTextShape,其中包含一个已经格式化的XSLFTTextPartagle(即形状和文本)。每个形状都包含一个特定的占位符,我需要用dynimic值替换它。我在地图中有这个值(占位符,newValue)。我成功地使用新值更新了占位符:
textShape.clearText();
XSLFTextRun run = paragraph.addNewTextRun();
run.setText(newText);
提前感谢!
对于未来可能对这个主题感兴趣的每个人来说,我发布了解决方案(如果一个文本框有一个单独的段落)。这个解决方案在所有文本框上循环,如果一个文本框包含在占位符->NewValue映射中指定的vales之一,它将更新它以保持格式。
public static void updateTextBoxesWithDesiredValues(XMLSlideShow ppt, Map<String, String> placeHolderDefinedValue) {
logger.info("ElapsedTime: " + tM.getTimeElapsedReadableFormat() + " ########## Updating single text box content...");
List<XSLFSlide> allSlides = ppt.getSlides();
int updatedElements = 0;
for (XSLFSlide currentSlide : allSlides) {
for (XSLFShape shape : currentSlide.getShapes()) {
if (shape instanceof XSLFTextShape) {
XSLFTextShape textBox = (XSLFTextShape) shape;
String elementTextContent = textBox.getText();
for (Object key : placeHolderDefinedValue.keySet()) {
if (elementTextContent.equals(key)) {
List<XSLFTextParagraph> textBoxParagraphs = textBox.getTextParagraphs();
List<XSLFTextRun> textBoxParagraphTextRuns = textBoxParagraphs.get(0).getTextRuns();
//System.out.println("########################## check paragraph number in textbox: " + textBoxParagraphs.size() + " - TextRuns: " + textBoxParagraphs.get(0).getTextRuns().size());
logger.info("ElapsedTime: " + tM.getTimeElapsedReadableFormat() + updatedElements + ") Updating: " + textBox.getText() + " --> " + placeHolderDefinedValue.get(key));
for (XSLFTextRun r : textBoxParagraphTextRuns) {
r.setText(placeHolderDefinedValue.get(key));
}
updatedElements++;
//break;
}
}
}
}
}
logger.info("ElapsedTime: " + tM.getTimeElapsedReadableFormat() + " Total Text Element Content Updated: " + updatedElements + " #########################");
}
问题内容: 我有一个文本区域,它将其内容插入到SQL表中。有没有一种方法可以保留文本的格式,然后在HTML中使用它? 问题答案: 如果您要保留Enter键,请用 替换char 10和char 13 使用SQL时(请注意输入) 这导致
我想加密数据库表中特定列中的数据。但是,在使用AES/GCM密钥的标准加密中,加密后的密码文本比原始文本的长度要长得多。 非常感谢任何帮助。谢谢
我是新来的,所以任何帮助都是值得的,这段代码是我的教授给我的,当我问一个例子,我希望有一个工作模型。。。 读取数据 将行走状态定义为0,运行状态定义为1 随机选取50%的数据作为测试数据,其余数据作为列车数据 使用skLearning选择50%的功能 应用支持向量机算法 回溯(最近一次调用):文件“”,第1行,在execfile exec(compile(f.read)()第89行的文件“C:\U
我使用Excel工作表作为使用Apache POI创建证书和简单报告的方法,数据将放置在Excel工作表中格式化的文本框中。我希望从工作表中获取TextBox对象并更改文本,但是虽然我可以获得RichTextString,但我找不到替换文本的方法。我的下一个计划是获取每个单独的字体特征,使用新文本创建一个新的RichTextString,然后设置字体特征。这很复杂,但不是太难,但当存在简单的解决方
当我将日期格式为MMM DD,YYYY的表中的列更新为新格式时。格式不会更改为所需的格式,即YYYY-MM-DD HH:MM:SS。即使更新不同的值,如。日期将更改,但格式将保持不变。 当前值&列的格式类型为varchar 杜埃达特 2020-06-27 00:0000.000 Update语句
但这对对象没有任何影响,它还是用旧格式的,不能真正理解它为什么会那样。