在android.java中读取Excel文件

我写这段代码来读取一个Excel文件,我把它粘贴到资产文件夹(我的文件名:book.xls)来读取它。 但是当我按下button来显示文件,它不工作,并没有显示任何东西。 请帮我解决我的问题。 非常感谢。 这里是我的代码:

package com.example.android.readingexcellfile; import android.content.res.AssetManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.TextView; import java.io.InputStream; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void order (View v){ try { AssetManager am=getAssets(); InputStream is=am.open("book.xls"); Workbook wb=Workbook.getWorkbook(is); Sheet s=wb.getSheet(0); int row=s.getRows(); int col=s.getColumns(); String xx=""; for (int i=0;i<row;i++) { for(int c=0;i<col;c++) { Cell z=s.getCell(c,i); xx=xx+z.getContents(); } xx=xx+"\n"; } display(xx); } catch (Exception e){} } public void display (String value){ TextView x=(TextView)findViewById(R.id.textView); x.setText(value); } } 

这里是我的xml:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.android.readingexcellfile.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:id="@+id/textView" /> <Button android:text="Button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginLeft="28dp" android:layout_marginStart="28dp" android:layout_marginTop="69dp" android:onClick="order" android:id="@+id/button" /> </RelativeLayout> 

display()方法永远不会被调用,因为你的内部for循环永远不会结束,因为该行:

for(int c=0;i<col;c++)

将其更改为:

for(int c=0;c<col;c++)

(即检查'c'是否比col更好,而不是'我')和TextView值是按照预期改变的。