我想在Android中将编辑文本转换为Docx

yks3o0rb  于 2023-05-12  发布在  Android
关注(0)|答案(1)|浏览(169)

我想将编辑文本中的文本直接转换为docx并存储在内部存储器中。
我试着在谷歌上搜索,但几乎没有找到任何东西。

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,但它不是一个有效的。

yptwkmov

yptwkmov1#

你可以使用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();
}

并将Text as String数组(文本的每一行都将是数组的成员)传递给它。
不要忘记将Apache POI jars libraries添加到项目中。

相关问题