Я пытаюсь экспортировать данные Jtable в лист Excel с помощью HSSFWorkbook. Я получаю все данные из JTable, но десятичный формат отличается от JTable. Пожалуйста, кто может мне помочь ...Decimalformat в экспортированном файле xls отличается от JTable
Например: JTable -> 4555
экспортированной XLS -> 4,55479080958
Здесь команда используется для Принимая содержание JTable:
try {
for (int i = 0; i < tableModel.getRowCount(); i++) {
fRow1 = workbookSheet.createRow((short) i);
for (int j = 0; j < tableModel.getColumnCount(); j++) {
HSSFCell cell = fRow1.createCell((short) j);
cell.setCellValue(tableModel.getValueAt(i, j).toString());
}
}
FileOutputStream fileOutputStream;
fileOutputStream = new FileOutputStream("C:\\file.xls");
BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream);
hssfWorkbook.write(bos);
bos.close();
fileOutputStream.close();
} catch (Exception e) {
for (int i = 0; i < tableModel.getColumnCount(); i++) {
fRow1 = workbookSheet.createRow((short) i);
for (int j = 0; j < tableModel.getColumnCount(); j++) {
HSSFCell cell = fRow1.createCell((short) j);
cell.setCellValue(tableModel.getValueAt(i, j).toString());
System.out.println(tableModel.getColumnName(j));
}
}
}
А вот код для JTable:
public class FileModel extends AbstractTableModel implements FilenameFilter {
List<Object[]> data = new ArrayList<>();
String titles[] = new String[] { "File Name", "Pages", "Media Box Height", "Media Box Width", "Trim Box Height",
"Trim Box Width", "Path" };
Class<?> types[] = new Class[] { String.class, Integer.class, Float.class, Float.class, Float.class, Float.class,
String.class };
public FileModel() {
this("C:\\");
}
public FileModel(String directory) {
File inputFiles = new File(directory);
setFileStats(inputFiles);
}
// Implement the methods of the TableModel interface Only getRowCount(), getColumnCount() and getValueAt() are
// required.
//
@Override
public int getRowCount() {
return this.data.size();
}
@Override
public int getColumnCount() {
return this.titles.length;
}
@Override
public String getColumnName(int column) {
return this.titles[column];
}
@Override
public Class<?> getColumnClass(int column) {
return this.types[column];
}
@Override
public Object getValueAt(int row, int column) {
return this.data.get(row)[column];
}
Где установить формат Excel? – trashgod
oh man, thx. Я действительно забываю установить формат ... – okaisan1
Вы можете [ответить на свой вопрос] (http://meta.stackoverflow.com/q/17463/163188); [короткий, полный пример] (http://stackoverflow.com/help/mcve) всегда приветствуется. – trashgod