2012-04-23 4 views
1

Я использую код, который вы можете увидеть ниже, чтобы пробивать некоторые ячейки в jtable. Отлично работает для меня, и как в появлении, так и в печати с использованием метода JTable.print() отлично работает.JTable передаваемые значения excel (форматирование текста)

public void strikeThrough() 
{ 
    int rows=jTable.getRowCount(); 
    destroiedDocs=new ArrayList<>(); 
    for (int i = 0; i < rows; i++)  
    { 
     String test=String.valueOf(jTable.getValueAt(i,5)); 
     if (test.equals("K")) 
     { 
      for (int j = 1; j < 5; j++) 
      { 
      String tostrike= String.valueOf(jTable.getValueAt(i, j)); 
      String striked=("<html><strike>".concat(tostrike).concat("</strike>  </html>")); 
      jTable.setValueAt(striked, i, j); 
      destroiedDocs.add(i); 
      } 
     } 
    } 
} 

Проблема заключается в том, что, когда я экспортировать resaults, чтобы преуспеть с классом JXL я получил значение в этом ударе через клетку с Внешностью

<html><strike>some text</strike></html> 

вместо некоторых текстовых в перечеркнете. Любые рекомендации о том, как решить эту проблему формирования? Я передаю ячейки в ячейке excel ячейкой из jtable с петлями. Спасибо!

ответ

1

код JAVA:

String striked=("<html><strike>".concat(tostrike).concat("</strike>  </html>")); 
jTable.setValueAt(striked, i, j); 

будет работать только для JAVA UI. После экспорта данных в excel он отобразит исходный текст.
Необходимо выполнить следующие шаги:
1. Перед экспортом удалить <html><strike> и </strike></html>. Сохраните исходный текст.
2. Используйте следующий код для зачеркивания ячейки.

Выполните следующий код, используя jxl-2.6.10.jar

import java.io.File; 
import jxl.Workbook; 
import jxl.write.Label; 
import jxl.write.WritableCell; 
import jxl.write.WritableCellFormat; 
import jxl.write.WritableFont; 
import jxl.write.WritableSheet; 
import jxl.write.WritableWorkbook; 

public class ExcelCreate { 

    public static void main(String[] args) { 
    try { 

     WritableWorkbook workbook = 
     Workbook.createWorkbook(new File("output.xls")); 
     WritableSheet sheet = workbook.createSheet("Page1", 0); 

     String Label[] = new String[4]; 
     Label[0] = "Emp ID"; 
     Label[1] = "Name"; 
     Label[2] = "Department"; 
     Label[3] = "Designation"; 

     WritableCellFormat cellFormat = new WritableCellFormat(); 
     WritableFont font = new WritableFont(WritableFont.ARIAL); 
     font.setStruckout(true); 
     cellFormat.setFont(font); 

     for (int i = 0; i < Label.length; i++) { 
      Label label = new Label(i, 0, Label[i]); 
      sheet.addCell(label); 
      WritableCell cell = sheet.getWritableCell(i, 0); 
      cell.setCellFormat(cellFormat); 
     } 

     workbook.write(); 
     workbook.close(); 

    } catch (Exception e) { 
     /* Write your logic to handle exception. 
     */ 
    } 
    } 
} 
0

Я думаю, что перед экспортом каждой ячейки в Excel вы должны найти и заменить или удалить тег, как

<html> 
    and 
<strike> 

с соответствующими функциями, чтобы добавить необходимую форматированию ..

Какого API является вы используете для экспорта в формат Excel? Я думаю, что это будет конкретный тот, который вы используете для экспорта в Excel.

+0

Я использую библиотеку JXL экспортировать resaults к нему. – Vagelism

+0

Да. Это кажется легкой частью. И как насчет того, чтобы пройти этот удар по превосходству, потому что он мне нужен! Спасибо! – Vagelism

 Смежные вопросы

  • Нет связанных вопросов^_^