导出Excel数据

先要导入jxl架包,其中的abc.xls为测试Excel,具体代码如下,仅供参考:

 

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
/**
 * 读取excel公共方法
 */
public class ExcelTest {
	/**
	 * 
	 * @param excelFile 读取文件对象
	 * @param rowNum 从第几行开始读,如果有一行表头则从第二行开始读
	 * @return
	 * @throws BiffException
	 * @throws IOException
	 */
	public static List<String[]> readExcel(File excelFile,int rowNum) throws BiffException,
			IOException {
		// 创建一个list 用来存储读取的内容
		List<String[]> list = new ArrayList<String[]>();
		Workbook rwb = null;
		Cell cell = null;
		// 创建输入流
		InputStream stream = new FileInputStream(excelFile);
		// 获取Excel文件对象
		rwb = Workbook.getWorkbook(stream);
		// 获取文件的指定工作表 默认的第一个
		Sheet sheet = rwb.getSheet(0);
		// 行数(表头的目录不需要,从1开始)
		for (int i = rowNum-1; i < sheet.getRows(); i++) {
			// 创建一个数组 用来存储每一列的值
			String[] str = new String[sheet.getColumns()];
			// 列数
			for (int j = 0; j < sheet.getColumns(); j++) {
				// 获取第i行,第j列的值
				cell = sheet.getCell(j, i);
				str[j] = cell.getContents();
			}
			// 把刚获取的列存入list
			list.add(str);
		}
		// 返回值集合
		return list;
	}
	
	public static void main(String[] args) {
		String excelFileName = "abc.xls";
		try {
			List<String[]> list = ExcelTest.readExcel(new File(excelFileName),1);
			for (int i = 0; i < list.size(); i++) {
				String[] str = (String[])list.get(i);
				for (int j = 0; j < str.length; j++) {
					System.out.print(str[j]+" ");
				}
				System.out.println();
			}
		} catch (BiffException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

 

测试excel文件abc.xls截图如下:

 

运行结果如下所示:

 

posted @ 2014-07-11 12:20  岁月淡忘了谁  阅读(230)  评论(0编辑  收藏  举报