Java读写Excel表格数据

开发中有时候需要把一些数据记录在Excel表格中,便于观察分析数据。这里操作Excel表格使用的是jxl.jar,jxl.jar是java操作Excel的一个工具类库,同样的工具类还有apache的poi,在小数据量时jxl快于poi,在大数据量时poi要快于jxl。但差距都不明显。

我们直接看下面两个读写Excel表格的简单示例:

写Excel表格数据:

	private static void writeExcel() throws IOException, RowsExceededException,
			WriteException {
		
		File xlsFile = new File("jxl.xls");
		// 创建一个工作簿
		WritableWorkbook workbook = Workbook.createWorkbook(xlsFile);
		// 创建一个工作表
		WritableSheet sheet = workbook.createSheet("sheet1", 0);
		// 向行和列中写数据
		for (int row = 0; row < 10; row++) {
			for (int col = 0; col < 10; col++) {
				// 向工作表中添加数据
				sheet.addCell(new Label(col, row, "data" + row + col));
			}
		}
		workbook.write();
		workbook.close();
	}

写完效果如下:
写入数据

如果读取项目下的students.xls表格,数据如下:
读数据

读数据示例代码:

	private static void readExcel() throws BiffException, IOException {
		File xlsFile = new File("students.xls");
		// 获得工作簿对象
		Workbook workbook = Workbook.getWorkbook(xlsFile);
		// 获得所有工作表
		Sheet[] sheets = workbook.getSheets();
		// 遍历工作表
		if (sheets != null) {
			for (Sheet sheet : sheets) {
				// 获得行数
				int rows = sheet.getRows();
				// 获得列数
				int cols = sheet.getColumns();
				// 读取数据
				for (int row = 0; row < rows; row++) {
					for (int col = 0; col < cols; col++) {
						Cell cell = sheet.getCell(col, row);   
	                    System.out.print(cell.getContents() + " ");   
					}
					System.out.println();
				}
			}
		}
		workbook.close();
	}

输出效果:
输出数据

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Java读取Excel表格可以使用Apache POI库,该库提供了一些类和方法来操作Excel文件。下面是一个简单的例子: 1. 首先需要下载并添加Apache POI的依赖包到项目中。 2. 读取Excel文件,可以使用Workbook类和Sheet类。Workbook类代表整个Excel文件,Sheet类代表一个工作表。 ``` FileInputStream file = new FileInputStream(new File("path/to/excel/file.xlsx")); Workbook workbook = new XSSFWorkbook(file); // 根据文件类型创建Workbook对象 Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 ``` 3. 遍历工作表中的每一行和每一列,可以使用Row类和Cell类。 ``` for (Row row : sheet) { // 遍历每一行 for (Cell cell : row) { // 遍历每一列 // 获取单元格的值 switch (cell.getCellType()) { case STRING: System.out.print(cell.getStringCellValue() + "\t"); break; case NUMERIC: System.out.print(cell.getNumericCellValue() + "\t"); break; case BOOLEAN: System.out.print(cell.getBooleanCellValue() + "\t"); break; default: System.out.print("\t"); } } System.out.println(); } ``` 完整的代码示例: ``` import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelReader { public static void main(String[] args) throws IOException { FileInputStream file = new FileInputStream(new File("path/to/excel/file.xlsx")); Workbook workbook = new XSSFWorkbook(file); Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { for (Cell cell : row) { switch (cell.getCellType()) { case STRING: System.out.print(cell.getStringCellValue() + "\t"); break; case NUMERIC: System.out.print(cell.getNumericCellValue() + "\t"); break; case BOOLEAN: System.out.print(cell.getBooleanCellValue() + "\t"); break; default: System.out.print("\t"); } } System.out.println(); } workbook.close(); file.close(); } } ``` 注意:如果是读取xls格式的文件,需要使用HSSFWorkbook类代替XSSFWorkbook类。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值