Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-Eclipse读取excel文件时出错_Java_Android_Database_Excel - Fatal编程技术网

Java-Eclipse读取excel文件时出错

Java-Eclipse读取excel文件时出错,java,android,database,excel,Java,Android,Database,Excel,我是java新手,但学得很快。 我正在尝试让我的Android应用程序从EditText获取用户输入,搜索Excel列中匹配的字符串,然后返回另一列(同一行)的值 我在构建路径上添加了一个jxl.jar,我的代码看起来应该可以工作。在自学的过程中,我正在慢慢地找出调试的方法。问题似乎是找不到源android.jar(如果我没记错的话)。我找到了它,现在我得到“源附件不包含文件instrumentation.class的源” 这是我第一个使用excel的应用程序。我是否需要以某种方式处理Andro

我是java新手,但学得很快。 我正在尝试让我的Android应用程序从EditText获取用户输入,搜索Excel列中匹配的字符串,然后返回另一列(同一行)的值

我在构建路径上添加了一个jxl.jar,我的代码看起来应该可以工作。在自学的过程中,我正在慢慢地找出调试的方法。问题似乎是找不到源android.jar(如果我没记错的话)。我找到了它,现在我得到“源附件不包含文件instrumentation.class的源”

这是我第一个使用excel的应用程序。我是否需要以某种方式处理Android清单

这是我的代码,以防万一,非常感谢您的帮助!:

public class Frame_Bore extends Activity {
private String inputFile;

public void setInputFile(String inputFile) {
    this.inputFile = "c:/Desktop/AAS Work/PDA Programs/JBDB.xls";
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.framebore);

    Button Btn1 = (Button) findViewById(R.id.button1);
    final EditText T1 = (EditText) findViewById(R.id.et1);
    final EditText T2 = (EditText) findViewById(R.id.et2);

    Btn1.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub

            String t1Value = T1.getText().toString();
            File inputWorkbook = new File(inputFile);
            Workbook w;
            String bore = null;

            try {
                w = Workbook.getWorkbook(inputWorkbook);
                Sheet sheet = w.getSheet("Frame-Bore");

                int y = 6;
                while (y < 200) {
                    int x = 2;
                    Cell columnB = sheet.getCell(x, y);
                    String motorframe = columnB.getContents();

                    if (motorframe == t1Value) {
                        Cell columnC = sheet.getCell(x + 1, y);
                        bore = columnC.getContents();
                    } else {
                        y = y + 1;
                    }

                }
            } catch (BiffException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                T2.setText("" + bore);
            }
        }
    });
}
公共类框架活动{
私有字符串输入文件;
公共void setInputFile(字符串inputFile){
this.inputFile=“c:/Desktop/AAS Work/PDA Programs/JBDB.xls”;
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.FrameHole);
按钮Btn1=(按钮)findViewById(R.id.button1);
最终EditText T1=(EditText)findViewById(R.id.et1);
最终EditText T2=(EditText)findViewById(R.id.et2);
Btn1.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//TODO自动生成的方法存根
字符串t1Value=T1.getText().toString();
文件输入工作簿=新文件(输入文件);
工作手册w;
串孔=空;
试一试{
w=Workbook.getWorkbook(inputWorkbook);
板材=w.getSheet(“框架孔”);
int y=6;
而(y<200){
int x=2;
Cell columnB=sheet.getCell(x,y);
字符串motorframe=columnB.getContents();
如果(电机机架==T1值){
单元格列c=sheet.getCell(x+1,y);
内孔=columnC.getContents();
}否则{
y=y+1;
}
}
}捕获(双飞例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}最后{
T2.setText(“+”孔);
}
}
});
}

您正试图从模拟器访问c:drive(“c:/Desktop/AAS Work/PDA Programs/JBDB.xls”),这是不可能的。如果您在设备中运行excel文件,则需要将其放在resources文件夹或SD卡中


Emulator有一个虚拟SD卡,其局限性在于它不能直接从计算机访问任何其他驱动器。但是,您可以通过制作一个web服务来完成此操作,该web服务将代表您的android应用程序执行操作。您需要从安卓应用程序调用此web服务。

将文件放入资产文件夹并访问是这样的:

InputStream is = null;
        try {
            is = context.getAssets().open("JBDB.xls");
            workbook = Workbook.getWorkbook(is);

        } catch (IOException e) {

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

            e.printStackTrace();

        }
        if(workbook!=null)
        sheet = workbook.getSheet("Frame-bore");
context
是您的主要活动上下文