2016-08-10 11 views
0

У меня есть программа, в которой я получаю строку из текстовой области, а затем конвертирую ее в массив, тогда я читаю этот массив, а затем записываю его в excel, запись работает, но не учитывает пространства табуляции. Мой кодполучить строку для excel и рассмотреть пространства (TAB)

String getTextArea_1 = textArea_1.getText(); 
     String userHomeFolder = System.getProperty("user.home"); 
     File excelFile = new File(userHomeFolder, "RESULT.xls"); 
     try { 
        //create .xls and create a worksheet. 
        FileOutputStream fos = new FileOutputStream(excelFile); 
        HSSFWorkbook workbook = new HSSFWorkbook(); 
        HSSFSheet worksheet = workbook.createSheet("My Work Sheet"); 

        //Create ROW-1 ((row line number in the excel)) 
        HSSFRow row1; 
        //Create COL-A from ROW-1 and set data 
        HSSFCell cellA1; 

        int rowLines = 0; 
        int colLine = 0; 
        String[] strings = getTextArea_1.split("\n");     
        for(String b : strings) { 
         rowLines ++; 
         row1 = worksheet.createRow(rowLines -1); 
         cellA1 = row1.createCell(colLine); 
         cellA1.setCellValue(b); 

         colLine = colLine - 1; 
         colLine ++; 
         //System.out.println(b); 
         //colLine ++; 
         //System.out.println(rowLines); 
        } 

        //Save the workbook in .xls file 
        workbook.write(fos); 
        fos.flush(); 
        fos.close(); 
       } catch (FileNotFoundException e1) { 
        e1.printStackTrace(); 
       } catch (IOException e1) { 
        // TODO Auto-generated catch block 
        e1.printStackTrace(); 
       } 
     } 

результат показан как это изображение enter image description here , но мне нужно, чтобы это было как ниже, так как если я скопировать его из моей области текста и вставить его на лист первенствовать это является результат:

enter image description here Что я пропущу, пожалуйста?

После использования предложения Lancef результат будет находиться только под одной ячейкой, как сделать его под одной строкой ?!

1746 
C4A 
13D06MK 
GREECE 
2012-07-04 
2015-07-03 
2012-07-04 
2015-07-03 
"Yes" 

Я пытался играть с rowLines и Коллин, но он не работает для меня, я всегда получаю его как

1746         
    C4A       
     13D06MK      
      GREECE     
       2012-07-04    
        2015-07-03   
         2012-07-04  
          2015-07-03 
           "Yes" 

ответ

1

Вы распределяете на конце линии: \n вместо вкладки: \t

Итак:

String[] strings = getTextArea_1.split("\t"); 

вместо:

String[] strings = getTextArea_1.split("\n"); 
+0

Результат теперь под одной ячейкой Просмотреть мои обновления в моем коде выше –