apache android,Apache Poi Android

I am using Apache Poi in an Android application, but I have a problem with the HSSFWorkbook.

I just want to read an Excel file found in the internal memory of the Android tablet.

(To display data in Android application)

my code:

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

try {

AssetManager assetManager = this.getAssets();

InputStream input = assetManager.open("test42.XLS");

HSSFWorkbook classeur = new HSSFWorkbook(input);

//HSSFSheet feuille = classeur.getSheetAt(0);

//Cell cell = feuille.getRow(1).getCell(1);

//String value = cell.getStringCellValue();

TextView tv = new TextView(this);

tv.setText("Test");

setContentView(tv);

} catch (IOException e) {

e.printStackTrace();

System.out.println("prob");

}

}

The log :

01-28 14:09:55.036: E/dalvikvm(6919): Could not find class 'org.apache.xmlbeans.XmlOptions', referenced from method org.apache.poi.POIXMLDocumentPart.

01-28 14:09:55.036: W/dalvikvm(6919): VFY: unable to resolve new-instance 2751 (Lorg/apache/xmlbeans/XmlOptions;) in Lorg/apache/poi/POIXMLDocumentPart;

01-28 14:09:55.036: D/dalvikvm(6919): VFY: replacing opcode 0x22 at 0x0008

01-28 14:09:55.056: E/AndroidRuntime(6919): FATAL EXCEPTION: main

01-28 14:09:55.056: E/AndroidRuntime(6919): java.lang.ExceptionInInitializerError

01-28 14:09:55.056: E/AndroidRuntime(6919): at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:72)

01-28 14:09:55.056: E/AndroidRuntime(6919): at android.app.Activity.performCreate(Activity.java:5267)

01-28 14:09:55.056: E/AndroidRuntime(6919): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)

01-28 14:09:55.056: E/AndroidRuntime(6919): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)

01-28 14:09:55.056: E/AndroidRuntime(6919): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2295)

01-28 14:09:55.056: E/AndroidRuntime(6919): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)

01-28 14:09:55.056: E/AndroidRuntime(6919): at java.lang.reflect.Method.invokeNative(Native Method)

the new log cat :

01-29 10:00:44.809: I/dalvikvm(7833): Could not find method org.apache.commons.codec.digest.DigestUtils.md5, referenced from method org.apache.poi.hssf.usermodel.HSSFWorkbook.addPicture

01-29 10:00:44.809: W/dalvikvm(7833): VFY: unable to resolve static method 6355: Lorg/apache/commons/codec/digest/DigestUtils;.md5 ([B)[B

01-29 10:00:44.809: D/dalvikvm(7833): VFY: replacing opcode 0x71 at 0x0004

01-29 10:00:44.829: W/System.err(7833): java.io.IOException: Invalid header signature; read 0x0010000000060409, expected 0xE11AB1A1E011CFD0

01-29 10:00:44.829: W/System.err(7833): at org.apache.poi.poifs.storage.HeaderBlock.(HeaderBlock.java:140)

01-29 10:00:44.829: W/System.err(7833): at org.apache.poi.poifs.storage.HeaderBlock.(HeaderBlock.java:104)

01-29 10:00:44.829: W/System.err(7833): at

org.apache.poi.poifs.filesystem.POIFSFileSystem.(POIFSFileSystem.java:138)

01-29 10:00:44.829: W/System.err(7833): at

org.apache.poi.hssf.usermodel.HSSFWorkbook.(HSSFWorkbook.java:322)

01-29 10:00:44.829: W/System.err(7833): at

org.apache.poi.hssf.usermodel.HSSFWorkbook.(HSSFWorkbook.java:303)

01-29 10:00:44.829: W/System.err(7833): at com.example.test.MainActivity.onCreate(MainActivity.java:41)

01-29 10:00:44.829: W/System.err(7833): at android.app.Activity.performCreate(Activity.java:5267)

01-29 10:00:44.829: W/System.err(7833): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)

01-29 10:00:44.829: W/System.err(7833): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)

01-29 10:00:44.829: W/System.err(7833): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2295)

01-29 10:00:44.829: W/System.err(7833): at android.app.ActivityThread.access$700(ActivityThread.java:150)

01-29 10:00:44.829: W/System.err(7833): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)

01-29 10:00:44.829: W/System.err(7833): at android.os.Handler.dispatchMessage(Handler.java:99)

01-29 10:00:44.829: W/System.err(7833): at

android.os.Looper.loop(Looper.java:176)

01-29 10:00:44.829: W/System.err(7833): at android.app.ActivityThread.main(ActivityThread.java:5279)

01-29 10:00:44.829: W/System.err(7833): at java.lang.reflect.Method.invokeNative(Native Method)

01-29 10:00:44.829: W/System.err(7833): at java.lang.reflect.Method.invoke(Method.java:511)

01-29 10:00:44.829: W/System.err(7833): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)

01-29 10:00:44.829: W/System.err(7833): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)

01-29 10:00:44.829: W/System.err(7833): at dalvik.system.NativeStart.main(Native Method)

01-29 10:00:44.899: W/ResourceType(7833): Failure getting entry for 0x01080a03 (t=7 e=2563) in package 0 (error -75)

01-29 10:00:44.999: D/libEGL(7833): loaded /vendor/lib/egl/libEGL_POWERVR_SGX544_115.so

01-29 10:00:45.049: D/libEGL(7833): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX544_115.so

01-29 10:00:45.059: D/libEGL(7833): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX544_115.so

01-29 10:00:45.129: D/OpenGLRenderer(7833): Enabling debug mode 0

### 回答1: Apache POI是一个用于创建和处理Microsoft Office格式文件的Java库。它可以帮助用户在Android应用程序中生成、读取和编辑Word文档、Excel电子表格和PowerPoint演示文稿等。使用Apache POI,我们可以通过编程方式创建和格式化Word文档,插入表格、图片和图表,设置字体样式和颜色,以及添加页眉页脚等元素。同样,我们可以读取和解析现有的Office文档,提取所需的数据,并对其进行操作和处理。 Apache POI可以在Android平台上很好地工作,因为它是一个纯Java库,并且可以与Android的Java API兼容。在使用Apache POI时,我们需要将相应的库文件添加到Android项目的依赖项中,这样就可以在代码中引用和使用POI提供的类和方法了。 使用Apache POI的好处之一是它提供了对Office文件的全面支持。我们可以根据需要创建复杂的文档、电子表格或演示文稿,以满足我们的特定需求。另外,Apache POI还具有良好的文档和社区支持,我们可以轻松地找到相关的教程、示例代码和问题解答。 然而,需要注意的是,在Android设备上使用Apache POI可能会有一些性能和内存方面的考虑。由于Office文件通常较大且相对复杂,所以在处理大型文件时,可能会导致较高的内存使用和较长的处理时间。因此,在使用Apache POI时,我们应该注意考虑性能优化和内存管理,以确保应用程序的流畅运行和高效执行。 总之,Apache POI是一个非常有用的工具,可以帮助我们在Android应用程序中处理和生成Microsoft Office格式的文件。通过使用Apache POI,我们可以轻松地创建和编辑各种Office文档,以满足我们的需求。 ### 回答2: Apache POI for Android 是一个用于在Android平台上进行Microsoft Office文档操作的开源库。它使用Java编写,可以方便地进行Excel和Word文档的读取、编辑和创建。 Apache POI for Android 提供了一组API,可以读取和写入Excel和Word文件。通过这些API,我们可以读取Excel文件中的数据、格式、计算公式等,并将其用于Android应用程序的处理。同时,我们也可以通过API将数据写入Excel文件,包括单元格数据、格式、图表等。 使用Apache POI for Android,开发者可以快速实现在Android应用程序中生成、打开和编辑Excel文件的功能。例如,一个商务应用程序可以使用这个库来生成销售报告,一个教育应用程序可以使用它来创建课程表,一个金融应用程序可以使用它来生成财务报表等。 Apache POI for Android 包含了丰富的功能,可以满足大部分的Excel和Word操作需求。它支持处理复杂的Excel文件,包括合并单元格、设置列宽、插入图像、创建公式等。此外,它还支持处理Word文件的基本操作,包括读取和写入文本、样式、段落等。 总而言之,Apache POI for Android 是一个非常实用的开源库,可以帮助开发者在Android平台上进行Excel和Word文档的操作。它提供了丰富的API,使得在Android应用程序中读取、编辑和创建Excel和Word文件变得非常简单。无论是商务应用程序、教育应用程序还是金融应用程序,都可以受益于这个功能强大的库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值