工程进行的差不多了,这两天正在做excel相关的工作。。。。。
郁闷坏了,不知道为什么eclipse老是提示输出的方法已经被调用,明明只写excel标题的时候可以生成的,在CSDN上搜了半天,终于找到原因。。
下面是一位老兄的例子:
//导出某个Object[][]数组的内容到excel=====================================
public static boolean createExcel(Object[][] myTable,String path)
{
//System.out.println("+++"+System.getProperty("user.dir")); //System.getProperty("user.dir")为当前程序运行目录
//如果不存在该文件夹,则建立新文件夹
//String path=""+System.getProperty("user.dir")+"/NCI/NciPlan生成文件";
//System.out.println("+++"+path);
//java.io.File dir= new java.io.File(path);
//if (!dir.exists()) { dir.mkdir(); }
try
{
//创建工作表与sheet的引用
WritableWorkbook workbook = null;
//String outputFile=""+path+"/MyList_"+myDateFormat.format(new java.util.Date())+".xls";
String outputFile=path;
String worksheet = "List";
OutputStream os;
os = new FileOutputStream(outputFile);
workbook = Workbook.createWorkbook(os);
//创建第一页的sheet
WritableSheet sheet1 = workbook.createSheet("MySheet1", 0); //可添加第一个工作
//WritableSheet sheet2 = workbook.createSheet("MySheet2", 1); //可添加第二个工作
/*//此段为将第一行写入项目字段的代码
for (int i=0; i<title.length; i++)
{
//Label(列号,行号 ,内容 )
Label label = new jxl.write.Label(i, 0, title[i]); //put the title in row1
sheet1.addCell(label);
}
*/
for (int i=0; i<myTable.length; i++)
{
for(int j=0; j<myTable[i].length; j++)
{
//设置值
if(myTable[i][j]==null)
{myTable[i][j]=" ";}
Label label = new Label(j, i, myTable[i][j].toString()); //问题出在这一块儿,我的将OBJECT数组转换的时候,用的是强制类型转换,估计是这样,以后注意啊
//加到sheet1上
sheet1.addCell(label);
}
}
//输出到文件
workbook.write();
//关闭文件
workbook.close();
return true;
}
catch (FileNotFoundException ex)
{ex.printStackTrace();}
catch (IOException ex)
{ex.printStackTrace();}
catch (WriteException ex)
{ex.printStackTrace();}
return false;
}