Я хочу конвертировать текст редактирования текста в Docx в Android - PullRequest
0 голосов
/ 05 октября 2019

Я хочу преобразовать текст в редактируемом тексте в формат docx напрямую и сохранить во внутренней памяти.

Я попытался выполнить поиск в Google, но вряд ли я ничего не нашел.

   String text = editText.getText().toString();
   String FILE_NAME1 = sample.docx // not working

    //  File file = new File("/storage/emulated/0");
    String pathTXT = Environment.getExternalStorageDirectory() + "/Kibo Directory" + "/" + FILE_NAME1 ;

    FileOutputStream fos = null;
    try {

        fos = new FileOutputStream(pathTXT); // This is creating file in internal (outside)

        //   fos = new FileOutputStream(file);

       // fos = openFileOutput(FILE_NAME, MODE_PRIVATE);
        fos.write(text.getBytes());

        Toast.makeText(this, "Saved to" + pathTXT + "/" + FILE_NAME1, Toast.LENGTH_LONG).show();

    } catch (Exception e)
    {
        e.printStackTrace();
    }

Я даю имя как sample.docx, которое сохраняется в формате docx, но оно недопустимо.

1 Ответ

0 голосов
/ 05 октября 2019

Вы можете использовать apache POI:

Создать такую ​​функцию:

    private static void createDocx(String[] lines) throws IOException {


    XWPFDocument xwpfDocument = new XWPFDocument();

    FileOutputStream fileOutputStream = new FileOutputStream(new File("yourfilepath/filename.docx"));



    for(String s:lines) {


        XWPFParagraph xwpfParagraph = xwpfDocument.createParagraph();


        XWPFRun xwpfRun = xwpfParagraph.createRun();

        xwpfRun.setText(s);

    }
    xwpfDocument.write(fileOutputStream);
    fileOutputStream.close();
}

и передать ваш текст как массив строк (каждая строка вашего текста будет членом массива) к нему.

Не забудьте добавить библиотеки Apache POI jars в ваш проект.

...