1.8单元格信息获取

1.8.1行列信息获取

按行获取工作表使用区域数据:worksheet.rows

按列获取工作表使用区域数据:worksheet.columns

获取工作表中最小的行号:worksheet.min_row

获取工作表中最小的列号:worksheet.min_column

获取工作表中最大的行号:worksheet.max_row

获取工作表中最大的列号:worksheet.max_column

获取单元格的行号:cell.row

获取单元格的列号:cell.column

iter方法获取指定区域:

1.按获取指定工作表单元格区域:worksheet.iter_rows(……)

2.按获取指定工作表单元格区域:worksheet.iter_cols(……)

import openpyxl
wb =openpyxl.load_workbook('test.xlsx')
ws=wb.worksheets[0]
for row in ws.columns:#ws.rows
    print([c.value for c in row])
print(ws.min_column,ws.min_row,ws.max_column,ws.max_row)
print(ws['A1:F3'])#ws['A1':'F3']
print(ws.cell(4,6).value)
for row in ws.iter_rows(min_row=2,max_row=8,max_col=4,min_col=2):
    print([c.value for c in row])
#实例应用
ws=wb.active
for r in list(ws.rows)[1:]: # [row for row in ws.rows][1:]:
    I=[v.value for v in r]
    print(I[0],I[1:])
#按行求取最大值
# total=[sum([c.value for c in row]) for row in ws.iter_rows(min_col=2,min_row=2)]
# name=[c.value for in ws['a'][1:]]
# print(list(zip(name,total)))

在Java 1.8版本中,虽然标准库并不直接支持读写Excel文件,但是可以借助第三方库如Apache POI来方便地操作Excel。Apache POI是一个功能强大的API,它提供了HSSF(处理旧版的Excel .xls文件)和XSSF(用于新版本.xlsx文件)两个组件。 以下是基本步骤: 1. **添加依赖**: - 在Maven项目中,在pom.xml中添加POI依赖: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ``` 2. **读取Excel**: - 使用`HSSFWorkbook`或`XSSFWorkbook`加载.xls或.xlsx文件: ```java FileInputStream fis = new FileInputStream("example.xlsx"); Workbook workbook = new XSSFWorkbook(fis); Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 Iterator<Row> rowIterator = sheet.iterator(); while (rowIterator.hasNext()) { Row row = rowIterator.next(); Iterator<Cell> cellIterator = row.cellIterator(); while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); String value = cell.getStringCellValue(); System.out.print(value + "\t"); } System.out.println(); } workbook.close(); ``` 3. **写入Excel**: - 创建一个新的`XSSFWorkbook`实例,并创建一个工作表,然后添加行和单元格: ```java Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); Row row = sheet.createRow(0); Cell cell = row.createCell(0); cell.setCellValue("Hello World"); FileOutputStream fos = new FileOutputStream("output.xlsx"); workbook.write(fos); fos.close(); workbook.close(); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值