2017-09-04 38 views
2

我需要一些幫助將我在ArrayLists中存儲的多行文本傳遞到Excel單元格中。我做了一個分析程序從每個標籤獲取值,現在我試圖建立我的excel,但我面臨的一個問題,從標籤的文本像這樣如何從ArrayList傳遞到Excel中如何從XML中檢測新的行字符?

<ProgramName>Mirror \n 2017</ProgramName> 

看起來像這樣Mirror \\n 2017如果我手動將它複製到setCellValue和我認爲這個雙斜線是我的問題,但我不知道爲什麼它甚至在這裏。我的代碼不能使之成爲一個新的生產線

//progName style 
    CellStyle cs = wb.createCellStyle(); 
    cs.setWrapText(true); 
    cs.setVerticalAlignment(VerticalAlignment.CENTER); 
    cs.setAlignment(HorizontalAlignment.CENTER); 

    //progName text 
    Row row = sheet1.createRow((short) 1); 
    Cell cell = row.createCell((short) 1); 
    row.setHeightInPoints((2*sheet1.getDefaultRowHeightInPoints())); 
    String asd = String.valueOf(ProgramName.get(0)); 
    cell.setCellValue(asd); 
    sheet1.addMergedRegion(new CellRangeAddress(1,1,1,8)); 
+1

兩個字符''\''和'N'不是XML換行符。只有像C,Java,Javascript這樣的語言......將其視爲這樣,然後才用文字。如果您正在閱讀包含此類字符序列的文本,並希望將其視爲換行符,則需要對其進行解碼,例如,使用'replaceAll()'調用,並使用帶有java字符串解碼助手方法的第三方庫。 – Andreas

回答

1

感謝安德烈亞斯

String asd = String.valueOf(ProgramName.get(0)).replaceAll("\\\\n", "\n");