Я пытаюсь экспортировать JTable в файл, который можно использовать в Microsoft Excel.Экспорт JTable в файл XML
Первоначально я написал данные в текстовый файл и установить расширение, как «.xls»
Конечно, это было непрофессионально, и Excel продолжал жаловаться формат быть в неисправном состоянии. Справедливо.
В любом случае, теперь я пытаюсь экспортировать его в таблицу XML, таким образом я могу открыть его с помощью Excel. Однако, когда я пытаюсь экспортировать его с помощью XMLEncoder, исключения печатаются, а при открытии в Excel он не выглядит или работает правильно. Вместо того, чтобы иметь данные из таблиц, таблица содержит данные об объектах и классах.
Вот мой код:
public static void saveToXML(JTable table, File location, String name) throws Exception{
XMLEncoder encoder;
File file = new File(location.getAbsolutePath() + "/" + name + ".xml");
encoder = new XMLEncoder(new FileOutputStream(file));
encoder.writeObject(table);
encoder.close();
}
Исключения, которые печатаются следующим образом:
java.lang.InstantiationException: fbla.evaluation.window.MainWindow$2
Continuing ...
java.lang.RuntimeException: failed to evaluate: <unbound>=Class.new();
Continuing ...
java.lang.InstantiationException: javax.swing.plaf.basic.BasicTableHeaderUI$MouseInputHandler
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement JTableHeader.removeMouseMotionListener(BasicTableHeaderUI$MouseInputHandler);
Continuing ...
java.lang.InstantiationException: fbla.evaluation.window.MainWindow$38
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement JTable.addMouseListener(MainWindow$38);
Continuing ...
java.lang.InstantiationException: javax.swing.plaf.basic.BasicTableUI$Handler
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement JTable.removeMouseMotionListener(BasicTableUI$Handler);
Continuing ...
Любая помощь и понимание очень ценится. Вероятно, стоит также упомянуть, что таблица моделей является обычным.
Спасибо, но не совсем ответ, который я ищу. Я хотел бы иметь работу XMLEncoder. – Brayden
Вы можете прочитать сгенерированный XML с помощью XMLDecoder для [example] (http://javaprogramming.language-tutorial.com/2012/10/convert-java-object-to-xml-and-convert.html), но Excel не может; подробнее [здесь] (http://stackoverflow.com/a/5898529/230513). – trashgod
Есть ли способ экспортировать JTable с помощью Java, чтобы Excel мог его прочитать? Это довольно важная функция для ввода, но я бы предпочел не использовать API из-за проблем с лицензированием. – Brayden