需要帮助!我正在尝试编写一个简单的函数,可以从excel源返回数据。我试图从excel文件创建一个数据Map列表,但是我得到的列表具有相同的值。所有值都相同。
这是我的密码:
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 java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class ExcelReaderFinal {
public static void main(String[] args) throws IOException {
String path = "C:\\Users\\username\\Downloads\\TestFile.xlsx";
FileInputStream fis = new FileInputStream(path);
Workbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0);
int lastRow = sheet.getLastRowNum()-5;
int lastColumn = 3;
Map<String, Object> dataMap = new HashMap<String, Object>();
ArrayList<Map<String, Object>> dataList = new ArrayList<>();
for(int j=0; j<=lastRow; j++){
for(int i=0; i<=lastColumn; i++) {
Row row = sheet.getRow(4);
Cell keyCell = row.getCell(i);
Row val = sheet.getRow(5+j);
Cell valueCell = val.getCell(i);
String value = valueCell.getStringCellValue().trim();
String key = keyCell.getStringCellValue().trim();
dataMap.put(key, value);
}
dataList.add(dataMap);
}
System.out.println(dataList);
}
}
我的实际输出是这样的:
[{负val=0,账号=121312c,正val=20000000.00,banko=rcbc},{负val=0,账号=121312c,正val=20000000.00,banko=rcbc},{负val=0,账号=121312c,正val=20000000.00,banko=rcbc}]
但我预期的结果是这样的:
这是我的excel文件来源:
总而言之:
我想以列表格式获取excel文件中的所有数据
该列表应根据excel中列的排列进行排序。
非常感谢!!
暂无答案!
目前还没有任何答案,快来回答吧!