import java.io.File; 

 import java.io.IOException; 

 import jxl.Workbook; 

 import jxl.write.Label; 

 import jxl.write.WritableSheet; 

 import jxl.write.WritableWorkbook; 

 import jxl.write.WriteException; 

 import jxl.write.biff.RowsExceededException; 

 import org.apache.log4j.Logger; 



 public class ExcelUtils { 

static private Logger logger = Logger.getLogger(ExcelUtils.class); 

static public int SUCCESS = 0; 

static public int ERROR = -1; 



/**  

*  创建单个sheet的excel文件,自己指定路径,用二维数组来映射相应的单元格 

**/ 

static public int createExcel(String fileRootPath,String fileName,String sheetName,String[][] dataArr){ 

int result = ERROR; 

 

try { 

if(fileRootPath == null || "".equals(fileRootPath) || fileName == null || "".equals(fileName) ){ 

throw new Exception("创建excel文件错误:createExcel方法参数值为空!"); 

} 

if(dataArr == null || dataArr[0] == null){ 

throw new Exception("输入的参数dataArr错误!"); 

} 

String filePath = fileRootPath + fileName; 

File file = new File(fileRootPath); 

if(!file.exists()){ 

    file.mkdirs(); 

} 

WritableWorkbook book = Workbook.createWorkbook(new File(filePath)); 
  

if(sheetName ==  null || "".equals(sheetName)){ 

sheetName = "第一页"; 

} 

// 生成名为sheetName的工作表,参数0表示这是第一页 

WritableSheet sheet = book.createSheet(sheetName , 0); 
  

// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0) 

// 以及单元格内容为test 
  

for(int i=0 ;i<dataArr.length;i++){ 

for(int j=0;j<dataArr[0].length;j++){ 

Label label = new Label(j, i, dataArr[i][j]); 
  

sheet.addCell(label);// 将定义好的单元格添加到工作表中 

} 

} 

book.write(); 

book.close(); 

result = SUCCESS; 

} catch (IOException e) { 

logger.error("excel文件路径错误!"); 

logger.error(e.toString()); 

return result; 

 

} catch (RowsExceededException e) { 
  

logger.error("创建excel时,行超过!"); 

logger.error(e.toString()); 

return result; 

 

} catch (WriteException e) { 

logger.error("创建excel时,写入错误!"); 

logger.error(e.toString()); 

return result; 

 

}catch (Exception e) { 

logger.error(e.toString()); 

return result; 

} 

return result; 
  

} 

 

public static void main(String args[]) { 

String[][] myarr = new String[2][3]; 

myarr[0][0]="11"; 

myarr[0][1]="12"; 

myarr[0][2]="13"; 

myarr[1][0]="21"; 

myarr[1][1]="22"; 

myarr[1][2]="23"; 

ExcelUtils.createExcel("D:/test/", "test.xls", "代理商账户列表", myarr); 

} 

 }