用Java提取execl表中某一列中间的数字+公斤
时间: 2024-02-20 07:01:09 浏览: 83
好的,可以使用Apache POI库来读取Excel文件,以下是Java代码示例:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
public class ExtractDataFromExcel {
public static void main(String[] args) throws IOException {
// 打开Excel文件
FileInputStream inputStream = new FileInputStream(new File("path/to/excel/file.xlsx"));
Workbook workbook = WorkbookFactory.create(inputStream);
// 获取第一个工作表
Sheet sheet = workbook.getSheetAt(0);
// 遍历每一行
for (Row row : sheet) {
// 获取某一列的单元格
Cell cell = row.getCell(2); // 假设列索引为2
if (cell != null) {
String value = cell.getStringCellValue();
// 正则表达式提取数字和公斤
String regex = "(\\d+\\.?\\d*)公斤";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(value);
if (matcher.find()) {
String number = matcher.group(1);
System.out.println(number);
}
}
}
// 关闭文件流和工作簿
inputStream.close();
workbook.close();
}
}
```
这个代码片段会读取Excel文件中第一个工作表的第二列,然后使用正则表达式提取每个单元格中的数字和公斤,最后输出提取到的数字。注意,这里假设公斤的单位始终为“公斤”,如果有其他单位可能需要调整正则表达式。
阅读全文