java – 如何使用Cell获取Cell Reference?

8 篇文章 ¥29.90 ¥99.00
在Apache POI 3.11版本中,要根据动态生成的rowIndex和columnIndex获取Cell Reference,可以使用CellReference的构造函数创建实例,并通过formatAsString方法将其转换为字符串形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在使用apache poi 3.11,来自CellReference,我可以使用以下代码获取rowIndex和Column Index.

CellReference cr = new CellReference("A1");
row = mySheet.getRow(cr.getRow());
cell = row.getCell(cr.getCol());

但我的rowIndex和columnIndex是动态生成的,如何使用rowIndex和columnIndex获取CellReference?

XSSFRow row = mySheet.getRow(rowIndex); 
XSSFCell cell = row.getCell(columnIndex);

使用CellReference类的CellReference(int pRow,int pCol)构造函数和创建的实例的formatAsString方法创建CellReference实例.

Java可以使用Apache POI库来操作Excel文件。下面是一个使用POI库导入Excel数据的示例: ```java import java.io.File; import java.io.FileInputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelReader { public static void main(String[] args) { try { FileInputStream file = new FileInputStream(new File("data.xlsx")); // Create Workbook instance holding reference to .xlsx file XSSFWorkbook workbook = new XSSFWorkbook(file); // Get first/desired sheet from the workbook XSSFSheet sheet = workbook.getSheetAt(0); // Iterate through each rows one by one Iterator<Row> rowIterator = sheet.iterator(); List<List<String>> data = new ArrayList<List<String>>(); while (rowIterator.hasNext()) { XSSFRow row = (XSSFRow) rowIterator.next(); Iterator<Cell> cellIterator = row.cellIterator(); List<String> rowData = new ArrayList<String>(); while (cellIterator.hasNext()) { XSSFCell cell = (XSSFCell) cellIterator.next(); // Check the cell type and format accordingly switch (cell.getCellType()) { case NUMERIC: rowData.add(String.valueOf(cell.getNumericCellValue())); break; case STRING: rowData.add(cell.getStringCellValue()); break; } } data.add(rowData); } file.close(); // Print the data for (List<String> rowData : data) { for (String value : rowData) { System.out.print(value + "\t"); } System.out.println(); } } catch (Exception e) { e.printStackTrace(); } } } ``` 这个示例将Excel文件中的数据读取到一个List<List<String>>对象中,可以根据需要对读取到的数据进行进一步处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值