![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| #Maestro# |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.7.2008 Репутация: нет Всего: нет |
по-моему эта функция ползволяет пользователю найти и открыть XML-файл:
chooser.setCurrentDirectory(new File(".")); chooser.setFileFilter(new javax.swing.filechooser.FileFilter() { public boolean accept(File f) { return f.isDirectory() || f.getName().toLowerCase().endsWith(".xls"); } public String getDescription() {return "Excel files";} }); int r = chooser.showOpenDialog(this); if (r != JFileChooser.APPROVE_OPTION) return; File f = chooser.getSelectedFile(); try{ if (builder == null) { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); builder = factory.newDocumentBuilder(); } } catch (IOException e) { JOptionPane.showMessageDialog(this, e); } catch (ParserConfigurationException e) { JOptionPane.showMessageDialog(this, e); } catch (SAXException e) { JOptionPane.showMessageDialog(this, e); } подскажите - как выглядит такая же функция только для файла Excel ? |
|||
|
||||
| goodday1941 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 709 Регистрация: 16.7.2006 Где: Украина, Киев Репутация: 1 Всего: 9 |
ну у тебя вроде все для экселя прописано а не для хмля, правда есть один нюанс, у последней версии экселя расштрение не xls на сколько я помню
-------------------- SCJP 6 |
|||
|
||||
| #Maestro# |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.7.2008 Репутация: нет Всего: нет |
поставлю вопрос по-другому:
как программно открыть Excel-файл и показать его пользователю??? Это сообщение отредактировал(а) #Maestro# - 2.4.2009, 10:53 |
|||
|
||||
| goodday1941 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 709 Регистрация: 16.7.2006 Где: Украина, Киев Репутация: 1 Всего: 9 |
должна быть установлена программа для просмотра экселек (офис ексель, или опен офис калк)....
ну и далее для 1.5
или для 1.6:
Это сообщение отредактировал(а) goodday1941 - 2.4.2009, 11:18 -------------------- SCJP 6 |
||||
|
|||||
| #Maestro# |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.7.2008 Репутация: нет Всего: нет |
спосибо. но в нашем с вами случае пользователь открывает ИЛИ функцию для Excel ИЛИ для XML файла. то есть в окошке выбора, на фкладке "File of type:" можно выбрать только один тип. а вот хорошо бы оба типа. не подскажете - как этого добиться? если это вообще реально...
|
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
#Maestro#, что-то я прочел и ничего не понял. В каком окошке пользователь выбирает тип файла?
Может мой ответ и не в тему т.к. не совсем понятно что же нужно: отличить Excel от XML файла програмно не трудно. Читается и парсится первая строка. В XML это всегда один и тот же тег. Потом файл закрывается и открывается уже так как подобает. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| #Maestro# |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.7.2008 Репутация: нет Всего: нет |
я сам плохо разбираюсь, но, по-моему, функция setFileFilter не может одновременно содержать
public String getDescription() {return "Excel files";} и public String getDescription() {return "Xml files";} если можете дать пример, буду признателен |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Что-то я все равно не понимаю. Вот пример с http://java.sun.com/javase/6/docs/api/
Если Вы поясните чем не устраивает такой подход, может станет понятнее как решить проблему. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| #Maestro# |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.7.2008 Репутация: нет Всего: нет |
спосибо. сейчас попробую. ещё вопросик. вот кусок кода, который создаёт xml c заданными тэгами:
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = builder.newDocument(); // Prepare the DOM document for writing Source source = new DOMSource(doc); // Prepare the output file Result result = new StreamResult(f); // for(int i=0; i<collNames.size();i++) { Element root = doc.createElement("тэг1"); root.setTextContent(collNames.get(1)); doc.appendChild(root); как создать тэг содержащий несколько значений? например все значения массива collNames? Это сообщение отредактировал(а) #Maestro# - 9.4.2009, 13:06 |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Что Вы подразумеваете под значениями тэга? Может вам нужен тэг с несколькими атрибутами? Типа
Это сообщение отредактировал(а) _Y_ - 9.4.2009, 13:09 -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| #Maestro# |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.7.2008 Репутация: нет Всего: нет |
можно и так, но я хотел
<tag1> value1 attr2="value2 <tag1 /> |
|||
|
||||
| _Y_ |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Это не структура XML. Точнее все, что включено в тэги (value1 attr2="value2) будет интерпретироваться как один кусок текста. Кстати, и с одной кавычкой что-то странное, но это наверное просто опечатка. И еще, закрывающий тэг должен быть </tag1>. <tag1 /> будет интерепретироваться как новый пустой тег. Если Вы не хотите оперировать атрибутами, можно сделать, например, такую структуру:
или еще лучше
и уже програмно разбираться какое из значений использовать: по положению в дереве документа если используете модель DOM или по очередности возникновения событий если используете SAX Это сообщение отредактировал(а) _Y_ - 10.4.2009, 10:31 -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
||||||
|
|||||||
| #Maestro# |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.7.2008 Репутация: нет Всего: нет |
в общем, ситуация такая: есть два массива CollNames и CollValues. значения CollNames - это должны быть тэги, а CollValues - атрибуты соответствующих тэгов.
в моём примере получается только первый тэг, и только с одним значением. а так хочется, что бы работало!.. Это сообщение отредактировал(а) #Maestro# - 11.4.2009, 23:32 |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Тогда стройте структуру тэгов с атрибутами. Типа:
Если не получается реализация в Java, то выложите код (чтобы его можно было сразу запустить ничего не дописывая). Не всю программу конечно, а маленький объект тестирующий создание нужного Вам документа из простеньких тестовых данных. Чем короче будет код, тем легче будет Вам ответить. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| #Maestro# |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.7.2008 Репутация: нет Всего: нет |
а вот ещё вопросец! очень надо программно открыть Excel и XML-файл и показать его пользователю (может кто помнит). вот как выглядит моя функция :
дальше следует выбрать функцию обработки файла (Excel или XML фалов, в зависимости от выбора). вопрос: как узнать тип этого выбранного файла? то есть: какую функцию мне вызвать - обработки Excel-файла? или XML? |
|||
|
||||
| _Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Так на этот вопрос я, вроде, уже предложил ответ. Что-то не так? -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
| #Maestro# |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.7.2008 Репутация: нет Всего: нет |
у меня новая проблемма. при создании Excel в строке
вылетает ошибка: Exception in thread "main" org.apache.poi.ss.formula.FormulaParser$FormulaParseException: Specified named range 'stroka' does not exist in the current workbook. видимо setCellFormula(...) может воспринимать только цифры. а что делать, если далжна быть строка? и как компилятор понял, что создаваемый файл называется "workbook"? если я имя задаю только в конце кода. кстати в NetBeanse (или как там его?) версии 5.5 такая проблема не возникает, возникает в шестом. помогите, кто может |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |