我正在尝试使用Java中的Apache Poi将一些结果写入excel文件。我将结果存储在String变量中,然后在data.put调用中使用它们。前两个可以正常工作,但是第三个会导致空白单元格。当我打印到system.out.println()时,它显示的很好吗?
// Create File to save results
//创建空白工作簿 XSSFWorkbook工作簿=新的XSSFWorkbook();
// Create a blank sheet
XSSFSheet sheet = workbook.createSheet("Usage");
// Write Header Row (Object[])
Map<String, Object[]> data = new TreeMap<String, Object[]>();
data.put("1", new Object[]{"Set-ID", "Title", "Usage" });
int row = 1;
XML CODE to Navigate Node .....
for (int n = 0; n < childNodes.getLength(); n++) {
Node currentnode = childNodes.item(n);
result += node.getNodeValue();
String NodeName = currentnode.getNodeName();
String NodeText = currentnode.getTextContent();
System.out.println("Child Node Name: " +NodeName);
XML CODE to Navigate Node .....
if (NodeText != null && !NodeText.isEmpty()){
System.out.println("Child Node Text: " +NodeText);
fileWriter.write(";"+";"+NodeText+";");
fileWriter.write(System.lineSeparator());
String line = String.valueOf(t);
data.put(line, new Object[]{ t,SetID,Title,NodeText.trim()});
}
}
try {
// this Writes the workbook gfgcontribute
FileOutputStream out = new FileOutputStream(new File("Usage.xlsx"));
workbook.write(out);
out.close();
System.out.println("Usage.xlsx written successfully on disk.");
}
catch (Exception e) {
e.printStackTrace();
}
我的打印输出如下:
Set-Id:babf6fab-d841-4092-88f0-fcf99c4bfa90;
标题:二甲双胍盐酸盐片剂[A-S药物解决方案];
属性节点名称:代码
属性节点值:34067-9
父节点名称:部分
子节点:11
子节点名称:#text
子节点文本: 子节点名称:id
子节点名称:#text
子节点文本: 子节点名称:代码
子节点名称:#text
子节点文本: 子节点名称:title
子节点文本:指示和用法
子节点名称:#text
子节点文本:
子节点名称:文本
子节点文本: 盐酸二甲双胍片可作为饮食和运动的辅助手段,以改善成年人和成年人的血糖控制。 儿童患有2型糖尿病。
当我打开Excel工作表时,我有设置ID和标题的列表,但使用情况列为空?
答案 0 :(得分:0)
发现了问题。单元格文本限制为32,767个字符,并且某些文本结果比该文本大。一旦我添加了一个大于限制的文本捕获,它就可以正常工作。