У меня есть программа Java, которая редактирует существующий файл excel и сохраняет его как новый файл. Однако мне также хотелось бы, чтобы программа автоматически открывала вновь созданный файл по окончании. Есть ли команда apache poi, которая позволяет мне это делать?Java Apache POI Открытие файла?
ответ
Как не указано код, я использую в качестве примера ViralPatel Tutorial
Препятствует Создание файла Excel Первая
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Sample sheet");
Map<String, Object[]> data = new HashMap<String, Object[]>();
data.put("1", new Object[] { "Emp No.", "Name", "Salary" });
data.put("2", new Object[] { 1d, "John", 1500000d });
data.put("3", new Object[] { 2d, "Sam", 800000d });
data.put("4", new Object[] { 3d, "Dean", 700000d });
Set<String> keyset = data.keySet();
int rownum = 0;
for (String key : keyset) {
Row row = sheet.createRow(rownum++);
Object[] objArr = data.get(key);
int cellnum = 0;
for (Object obj : objArr) {
Cell cell = row.createCell(cellnum++);
if (obj instanceof Date)
cell.setCellValue((Date) obj);
else if (obj instanceof Boolean)
cell.setCellValue((Boolean) obj);
else if (obj instanceof String)
cell.setCellValue((String) obj);
else if (obj instanceof Double)
cell.setCellValue((Double) obj);
}
}
try {
FileOutputStream out = new FileOutputStream(new File("D:\\new.xls"));
workbook.write(out);
out.close();
System.out.println("Excel written successfully..");
/** Opening Excel File From Java **/
try {
Desktop.getDesktop().open(new File("D:\\new.xls"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Выход
Решение: Поместите этот код с Try/Выгода Block после создания Excel с правильным местоположение, он будет открыт автоматически
Desktop.getDesktop() открытый (новый файл ("D. : \ new.xls "));
Else и может вызвать это также
Try использовать Desktop.open() вместо Desktop.edit():
Desktop dt = Desktop.getDesktop();
dt.open(new File("D:\\new.xls"));
Если Desktop.open() не доступен то можно использовать файловую ассоциацию Windows:
Process p = Runtime.getRuntime() .exec("rundll32
url.dll,FileProtocolHandler " + "D:\\new.xls");
Посмотрите на How to Integrate with the Desktop Class и Desktop JavaDoc
Я не знаю, зачем POI предоставляет такие методы или нет. Однако вы можете сделать это, используя простой java-метод, который использует командную строку и открывает нужный файл командой start
.
public static void openExcelFile(){
try{
Runtime.getRuntime().exec("cmd /c start "+FilePath);
}catch(IOException e){
e.printStackTrace();
}
}
ПРИМЕЧАНИЕ: Пространство после start
является обязательным. Не забудьте об этом
Мой внутренний капитан Очевидный хочет сказать, что это будет работать только на машинах Windows. В качестве улучшения команда может быть передана в качестве аргумента; upvoted! – orique
- 1. Открытие файла .xlsx с Apache POI дает NoClassDefFoundError InvalidFormatException
- 2. Java Eclipse apache poi
- 3. Java Apache POI
- 4. Java Apache poi
- 5. excel java apache poi
- 6. Импорт Apache POI Java
- 7. Java Apache POI Blank Cells
- 8. Apache POI Относительная гиперссылка файла
- 9. Недопустимая подпись заголовка - открытие XLS с POI Apache
- 10. JAVA Apache POI Пользовательский формат
- 11. java apache poi loop performance
- 12. java apache poi (часть 3)
- 13. Java - Apache POI Целочисленная проверка
- 14. java apache poi (часть 2)
- 15. Изучение POI Apache для Java
- 16. Java Apache POI HSSF CellRangeAddressList
- 17. Java Apache POI NoClassDefFoundError WorkbookFacory
- 18. Apache POI update excell Java
- 19. читать excelFile в java Apache Poi?
- 20. Обновление существующего файла Excel в Java Apache POI
- 21. Запись файла Excel из Java с помощью apache poi
- 22. Java apache POI java.lang.IllegalArgumentException: Позиция 21504 за конец файла
- 23. Java Apache POI: чтение/запись из .doc-файла
- 24. Java Apache POI Исключение чтения Excel
- 25. Apache POI «Недопустимый заголовок подписи» открытие Excel XML
- 26. Тип ошибки отливка Java, Apache POI
- 27. java - Apache POI SXSSFWorkbook Невозможно создать листы
- 28. Зависимости POI от Apache
- 29. Обновление файла excel с использованием Apache POI
- 30. Apache POI - ошибка чтения файла excel
у вас есть какие-либо фрагменты, чтобы открыть файл? поделитесь им пожалуйста. –
_ _ автоматически открывать только что созданный файл по окончании. _ Вы хотите запустить Excel для открытия вновь созданного файла? –