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