1.*Controller
/*根据绝对路径生产Excel,相对路径获取*/
String path = req.getSession().getServletContext().getRealPath("/");
String npath = req.getContextPath();
final String[] arr = FileUtils.getBaseAndName(userId,FileUtils.EXCEL_EXTEND,path,dt,npath);
final int[] coteWidths = new int[] { 13, 13, 20, 20};
final String[] titles = new String[] {"公司编号", "公司名称", "联系人名称", "联系人电话"};
ExportExcel.getBean().reportExcel(arr[0], arr[1], list,
title, coteWidths, titles, null);
// String newPath = FileUtils.forExcelToFtp(arr[0]+arr[1], arr[1], dt);//ftp路径
// String newPath = arr[0]+arr[1];//绝对路径
String newPath = arr[2]+arr[1];//相对路径
2.FileUtils
/** 上传文件保存的临时目录 */
public static final String tempPath = "/excel/";
/**
* 根据当前登录用户获得临时文件夹路径和即将产生的文件名
*
* @param userId
* 登录用户ID
* @param type
* 文件扩展名
* @return
*/
public static String[] getBaseAndName(long userId, String type,String path,Date dt,String nPath) {
String base = path + tempPath + userId + "/";
String base1 = nPath + tempPath + userId + "/";
deleteFolder(base);
createFolder(base);
String fileName = DateUtil.formatDateNoStr(dt) + type;
return new String[] { base, fileName,base1 };
}
/**
* 已经生产的excel文件,上传到FTP
* @param base 根目录(文件存放的目录)
* @param fileName 存入ftp上的文件名
* @return excelPath 存入ftp文件路径的完整路径(base+fileName)
* */
public static String forExcelToFtp(String base, String fileName,Date dt) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");