programing

Android에서 .docx 파일 및 .xlsx 파일을 만드는 방법

telecom 2023. 9. 12. 19:49
반응형

Android에서 .docx 파일 및 .xlsx 파일을 만드는 방법

아주 간단한 질문이 있습니다.안드로이드에서 .docx.xlsx 파일을 만드는 방법누군가 이것을 중복으로 표시하기 전에 Apache POI를 사용하여 광범위하게 작성을 시도했으며 다음 질문에 내 시도에 대해 설명합니다.

java.javaApache POI를 사용하여 .xlsx 파일을 만드는 동안 NoClassDefFFoundError

poi-ooxml jar 파일을 사용하여 .docx 파일 만들기

하지만 그 링크에 나와 있는 것처럼 java.lang.verify 오류가 발생합니다.참조 라이브러리로 최종적으로 가져온 jar 파일은 다음과 같습니다.

  • dom4j-1.6.1.jar

  • poi-3.10-FINAL-204208.jar

  • poi-ooxml-3.10-FINAL-204208.jar

  • stax-api-1.0.1.jar

  • xmlbeans-2.3.0.jar

  • poi-ooxml-schemas-3.10-FINAL-204208.jar

  • 커먼즈-슬라이스-1.5.jar

  • 커먼즈-1.1.jar

  • junit-4.11.jar

  • log4j-1.2.13.jar

하지만 이제는 전혀 컴파일이 되지 않고 콘솔에서 이렇게 말합니다.

Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.

This is often due to inadvertently including a core library file
in your application's project, when using an IDE (such as
Eclipse). If you are sure you're not intentionally defining a
core class, then this is the most likely explanation of what's
going on.

However, you might actually be trying to define a class in a core
namespace, the source of which you may have taken, for example,
from a non-Android virtual machine project. This will most
assuredly not work. At a minimum, it jeopardizes the
compatibility of your app with future versions of the platform.
It is also often of questionable legality.

If you really intend to build a core library -- which is only
appropriate as part of creating a full virtual machine
distribution, as opposed to compiling an application -- then use
the "--core-library" option to suppress this error message.

If you go ahead and use "--core-library" but are in fact
building an application, then be forewarned that your application
will still fail to build or run, at some point. Please be
prepared for angry customers who find, for example, that your
application ceases to function once they upgrade their operating
system. You will be to blame for this problem.

If you are legitimately using some code that happens to be in a
core package, then the easiest safe alternative you have is to
repackage that code. That is, move the classes in question into
your own package namespace. This means that they will never be in
conflict with core system classes. JarJar is a tool that may help
you in this endeavor. If you find that you cannot do this, then
that is an indication that the path you are on will ultimately
lead to pain, suffering, grief, and lamentation.

[2014-02-19 16:59:24 - test] Dx 1 error; aborting
[2014-02-19 16:59:24 - test] Conversion to Dalvik format failed with error 1

제가 무엇을 해야 하는지 조언 부탁드립니다.

편집:

의 최종 목적은 .docx와 .xlsx 파일을 만들고 거기에 컨텐츠를 추가하는 것입니다.일단 파일이 만들어지면, 내가 전화를 연결한 PC 시스템에서 파일을 성공적으로 볼 수 있을 것입니다.

편집 2: 이 모든 종속성을 제거하고 jspreadsheet-1.0 jar 파일을 사용하여 .xlsx 파일을 생성하는 해결책을 찾았습니다.하지만 는 여전히 .docx 파일에 대해 무엇을 해야 할지 모르겠습니다.

업데이트된 질문:

안드로이드에서 지원하지 않는 POI jar 파일을 사용하는 것이 문제인 것 같습니다.안드로이드 전용 POI를 받을 수 있는 링크를 알려주실 수 있나요?

아니면 컨텐츠를 추가할 수 있는 .docx 파일을 만드는 방법과 볼 수 있는 방법을 알려주실 수 있나요?

docx4j를 사용하여 .docx 파일을 만들 수 있습니다.

docx4j는 docx, pptx, xslx를 포함한 OpenXML "패키지"를 만들고 편집하고 저장하기 위한 오픈 소스(Apache v2) 라이브러리입니다.

따라서 워드 docx의 경우 JAXB 기반 자바 라이브러리를 사용해야 합니다.

이를 위한 유용한 튜토리얼입니다. http://www.javacodegeeks.com/2012/07/java-word-docx-documents-with-docx4j.html

그렇다면 다음 질문은 "그것이 안드로이드와 호환되는가?" 입니다. 이것을 보세요: JAXB는 안드로이드에서 실행되도록 만들어 질 수 있습니다.

이것이 당신에게 도움이 될 것 같습니다.

Apache POI 라이브러리는 최고이기 때문에 사용하십시오.

구글은 안드로이드용 퀵 오피스 애플리케이션에서도 이를 사용합니다.

를 위해.***x 파일 docx, xlsx 등 Dalvik에서 허용되는 기능에 일부 제한이 있을 수 있습니다.

일반적으로 이 작업만 수행해야 합니다.

FileOutputStream archivoSalida;
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sht = wb.createSheet("Conciliacion");
...
...
archivoSalida = new FileOutputStream(fileDestination);
wb.write(archivoSalida);
archivoSalida.close();

하지만 당신의 문제는 코드에 없는 것 같습니다.도서관과 컴필레이션에 있어요내가 틀렸다고요?

http://jexcelapi.sourceforge.net/ 을 이용해 보십시오.

jar 파일에는 엑셀 시트를 조작/생성하기 위한 매우 간단한 apis가 있습니다.

언급URL : https://stackoverflow.com/questions/21877532/how-to-create-docx-files-and-xlsx-files-on-android

반응형