我幾乎不熟悉java(始終在c#之前),需要創建一個swing應用程序,我需要從xls文件讀取數據。所以我使用jXL。JXL庫調用
我有一個類,它返回jFileChooser中選擇的excel文件中第一個工作表的名稱。下面是代碼:
import java.io.File;
import jxl.Sheet;
import jxl.Workbook;
public class ExcelObject
{
private String filename = null;
private Workbook wb = null;
private Sheet sheet = null;
public ExcelObject(String f)
{
filename = f;
}
public String getSheetName()
{
String sheet_name = null;
try
{
wb = Workbook.getWorkbook(new File(filename));
sheet = wb.getSheet(0);
sheet_name = sheet.getName();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
wb.close();
}
return sheet_name;
}
}
在程序調用的樣子:
ExcelObject ex = new ExcelObject(filename);
String s = ex.getSheetName();
lblReport.setText(s);
所以問題是:當在Eclipse(3.4.2),我得到一個正確的值,當罐子跑編譯,沒有價值返回!我的意思是lblReport是空的,沒有例外和警告。
請記住:所有其他外部罐子都能正常工作。
我嘗試了很多東西,但都沒有工作。
另外,如果我這樣做
ExcelObject ex = new ExcelObject(filename);
String s = ex.getSheetName();
// lblReportRun.setText(s);
lblReportRun.setText("Test");
lblAnyOtherLabel.setText("Test");
沒有文字顯示在標籤或者,在編譯罐子,並在日食罰款。
與您的代碼相關的excel文件在哪裏?您是否使用完全限定的文件名? –
是的,我通過JFileChooser得到它: – user1001327
不能在這裏插入代碼... – user1001327