Javaコード
数値を抽出する簡単なExcel操作
このコードは直接実行できます。ファイル アドレスは、row.getCell() を通じて独自のローカル ファイル アドレスに変更する必要があります。このメソッドは行と列の値を取得します。私の個人的な理解は、主にデータを走査することです。ループしてコンソールに出力します。
package com.guo;
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.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;
import org.n3r.core.collection.RMap;
import org.springframework.util.StringUtils;
import java.io.FileInputStream;
import java.util.HashMap;
import java.util.Map;
public class FileReader {
String PATH = "D:\\Desktop\\";
@Test
public void test() throws Exception {
//获取文件流
FileInputStream fis = new FileInputStream(PATH+"20230601_B301_callsMonthApi_Y200_0001.xlsx");
//获取一个工作簿
Workbook workbook = new XSSFWorkbook(fis);
//获取一个工作表
Sheet sheet = workbook.getSheetAt(0);
//获取第一行内容
Row row = sheet.getRow(0);
if (row != null){
int Cells = row.getPhysicalNumberOfCells();
Cell cell = row.getCell(1);
Cell cell1 = row.getCell(4);
if (cell != null && cell1 != null){
String title = cell.getStringCellValue();
String title1 = cell1.getStringCellValue();
System.out.println(title+" | "+title1);
int rowCount = sheet.getPhysicalNumberOfRows();
Map map = new HashMap();
for (int rowNum = 1;rowNum < rowCount;rowNum++){
Row rowData = sheet.getRow(rowNum);
if (rowData != null){
Cell cellData = rowData.getCell(1);
Cell cellData1 = rowData.getCell(4);
if (cellData != null && cellData1 != null){
String cellKey = cellData.getStringCellValue();
String cellValue = cellData1.getStringCellValue();
if (!StringUtils.isEmpty(RMap.getStr(map,cellKey))){
String str = RMap.getStr(map, cellKey);
int i = Integer.parseInt(str);
int i1 = Integer.parseInt(cellValue);
int result = i+i1;
map.put(cellKey,result);
}else {
map.put(cellKey,cellValue);
}
}
}
}
System.out.print(map);
}
}
fis.close();
}
}
上記の操作は、Excel上でデータを読み込み、さまざまな足し算や引き算を行う操作です。
コンソールに出力されたら、Excel に更新します。ここにメソッドがあるはずです。これは、Stream の入出力ストリームを使用して実装される可能性が高いですが、その時点では理解できなかったので、別のメソッドがあります。愚かな方法。
まず、コンソールから出力されたデータを html ファイルに変換します。html ファイルは 1 行ずつ Excel の形式に準拠していますが、txt はそうではありません。txt 内の記号を置き換えて Excel に変換できます。操作は、txt ファイルを Excel ファイルに変換することです。
このようにして、番号リフティング操作を実現することができる。