java代码扫描Excel表格内容并存进Map集合中
- 这个方法可以和 链接一块使用,通过代码扫描Excel表格内容存进Map中,实现大量修改Excel表格中的内容
导入依赖
<dependency>
<groupId>fr.opensagres.xdocreport</groupId>
<artifactId>xdocreport</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>xmlgraphics-commons</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
<exclusions>
<exclusion>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-examples</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-excelant</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>com.github.cloudecho</groupId>
<artifactId>xmlbean</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>3.1.0</version>
</dependency>
有些依赖是使用不到的,还有其他小工具的依赖,就没有删掉,实现这个功能还是不影响的。
代码如下
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
* @Author zhangdapao
* @Date 2021/7/30 17:23
*/
public class getMapArr {
public Map<String, String> MapArr() {
Map<String, String> fields = null;
try {
String fileName = "F:\\bian.xlsx";//扫描f盘的.xlsx文件
XSSFWorkbook xwb = new XSSFWorkbook(new FileInputStream(fileName));
fields = new HashMap();
XSSFSheet xSheet = xwb.getSheetAt(0);
String s = null;
for (int i = 0; i <= xSheet.getLastRowNum(); i++) { //遍历所有的行
if (xSheet.getRow(i) == null) { //这行为空执行下次循环
continue;
}
for (int j = 0; j <= xSheet.getRow(i).getPhysicalNumberOfCells()-1; j++) { //遍历当前行的所有列
if (xSheet.getRow(i).getCell(j) == null) {//为空执行下次循环
continue;
}
fields.put(xSheet.getRow(i).getCell(j).toString(),xSheet.getRow(i).getCell(j+1).toString());
}
}
FileOutputStream out = new FileOutputStream(fileName);
xwb.write(out);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return fields;
}
public static void main(String[] args) {
getMapArr ma = new getMapArr();
Map<String, String> stringStringMap = ma.MapArr();
System.out.println("----------------");
stringStringMap.forEach((k,v)->{
System.out.println(k+"+"+v);
});
}
}
看完如果对你有帮助,感谢点赞支持!