Не удалось записать файл Excel с помощью Apache POI

Я использую следующий код для записи данных в файл excel:

public class WriteExcellFile { public boolean saveExcelFile(Context context, String fileName) { // check if available and not read only if (!isExternalStorageAvailable() || isExternalStorageReadOnly()) { Log.d("FileUtils", "Storage not available or read only"); return false; } boolean success = false; //New Workbook Workbook wb = new HSSFWorkbook(); Cell c = null; //Cell style for header row CellStyle cs = wb.createCellStyle(); cs.setFillForegroundColor(HSSFColor.LIME.index); cs.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); //New Sheet Sheet sheet1 = null; sheet1 = wb.createSheet("myOrder"); // Generate column headings Row row = sheet1.createRow(0); c = row.createCell(0); c.setCellValue("Item Number"); c.setCellStyle(cs); c = row.createCell(1); c.setCellValue("Quantity"); c.setCellStyle(cs); c = row.createCell(2); c.setCellValue("Price"); c.setCellStyle(cs); sheet1.setColumnWidth(0, (15 * 500)); sheet1.setColumnWidth(1, (15 * 500)); sheet1.setColumnWidth(2, (15 * 500)); // Create a path where we will place our List of objects on external storage File file = new File(context.getExternalFilesDir(null), fileName); FileOutputStream os = null; try { os = new FileOutputStream(file); wb.write(os); Log.d("FileUtils", "Writing file" + file); success = true; } catch (IOException e) { Log.d("FileUtils", "Error writing " + file, e); } catch (Exception e) { Log.d("FileUtils", "Failed to save file", e); } finally { try { if (null != os) os.close(); } catch (Exception ex) { } } return success; } public static boolean isExternalStorageReadOnly() { String extStorageState = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(extStorageState)) { return true; } return false; } public static boolean isExternalStorageAvailable() { String extStorageState = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(extStorageState)) { return true; } return false; } } 

Код работает без ошибок в logcat, но когда я перехожу в папку, где предполагается записать файл excel, папка пуста. Я также добавил разрешение в файле манифеста Android.

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

 File file = new File(context.getExternalFilesDir(null), fileName); 

В приведенной выше строке, если вы замените null на Environment.DIRECTORY_DOCUMENTS, тогда ваш выходной файл будет сохранен там.

  • Форматы файлов Excel, поддерживаемые POI?
  • дополнительные записи в excel с использованием apache pois
  • POI: как проверять пустые ячейки в диапазоне
  • Установите высоту изображения с высотой строки в excel с помощью apache poi
  • Как проверить, что столбец скрыт или нет в файле excel, используя apache poi
  • Apache poi превосходит
  • Импорт Java Excel - списки флажков (контроль формы)
  • Печать всей рабочей книги Excel в java без открытия документа excel
  • Формат валюты Excel с помощью Apache POI
  • как изменить файл xls с помощью java poi
  • Apache poi устанавливает макет страницы для XSSFSheet
  • Interesting Posts

    Excel Randomize Decimal Number

    Загрузка Rails xls, сохранение xlsx

    Переключатель командной строки, чтобы открыть шаблон Excel в качестве рабочей книги

    Как автоматизировать листы Excel?

    Открытие листа Excel с полным доступом в c #

    Установите максимальное значение по умолчанию для 24-часового формата с секундами в python

    Экспортированный файл excel из datagridview показывает ошибку при открытии VB

    Выведите объект, используя «Для каждого» в диапазон Excel

    Условное форматирование в линейной диаграмме в Excel 2016

    Как мне вернуть исходный файл после выполнения всех операций над файлом excel с помощью VBA?

    Создайте формулу excel для «купите одну, получите 50% скидку»,

    Печать имени переменной

    Как преобразовать файлы .XLS & .XLXS в формат .PDF и вернуть их в каждую исходную подпапку в Powershell?

    Правый (текст; 5) не совпадает с текстом из 5 символов

    Excel 2010 VBA, почему формула отображается как текст?

    Давайте будем гением компьютера.