java xlsm_poi读取excel(xls和xlsx,xlsm)给定单元格内容
使用到的jar包
xls和xlsx文件要读取的内容均在(2,2)单元格中,且均为String类型(ver3 1.1.3);
xlsm文件要读取sheet名为"システム管理"的(3,2)单元格中的内容,且为Numeric类型(version 3.1),另外"システム管理"sheet页为隐藏sheet页;
注意单元格数据类型不都是String。
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
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;
public class xls_xlsx_xlsm_ionew {
public static void main(String[] args) throws IOException {
String path = "D:\\8月開発案件\\01:要件定義\\01:要件定義\\04:版数チェック\\Excel\\";
String fileName = "DB一覧";
String fileType = "xlsm";
/*
String fileName = "abc";
String fileType = "xlsx";
*/
/*
String fileName = "fb";
String fileType = "xls";
*/
read(path, fileName, fileType);
}
public static void read(String path, String fileName, String fileType)
throws IOException {
InputStream stream = new FileInputStream(path + fileName + "."
+ fileType);
Workbook wb = null;
if (fileType.equals("xls")) {
wb = new HSSFWorkbook(stream);
// 读取excel中第一个sheet页的(2,2)单元格
// (列,行),从0开始
Sheet sheet = wb.getSheetAt(0);
sheet.getSheetName();
Row row = sheet.getRow(2);
Cell cell = row.getCell(2);
//ver31.1.3
System.out.print(cell.getStringCellValue());
} else if (fileType.equals("xlsx")) {
wb = new XSSFWorkbook(stream);
// 读取excel中第一个sheet页的(2,2)单元格
// (列,行),从0开始
Sheet sheet = wb.getSheetAt(0);
sheet.getSheetName();
Row row = sheet.getRow(2);
Cell cell = row.getCell(2);
//ver31.1.3
System.out.print(cell.getStringCellValue());
} else if (fileType.equals("xlsm")) {
wb = new XSSFWorkbook(stream);
int numOfSheets = wb.getNumberOfSheets();
for (int i = 0; i < numOfSheets; i++) {
Sheet sheet = wb.getSheetAt(i);
String sname = sheet.getSheetName();
if (sname.equals("システム管理")) {
Row row = sheet.getRow(3);
//获取单元格内容的方式一
//cell类型为Numeric,故采用getNumericCellValue()方法
//Cell cell = row.getCell(2);
//version3.1
//System.out.print(cell.getNumericCellValue());
//获取单元格内容的方式二
row.getCell(2).setCellType(Cell.CELL_TYPE_STRING);
//Cannot get a text value from a numeric cell,故先将cell类型设置为String型
System.out.print(row.getCell(2).getStringCellValue());
}
}
} else {
System.out.println("您输入的excel格式不正确");
}
}
}
java xlsm_poi读取excel(xls和xlsx,xlsm)给定单元格内容相关推荐
- html多个单元格合并单元格内容,excel怎样快速把多个单元格内容合并 合并多个单元格内容的设置方法...
excel是我们常用的办公软件,有时我们需要把多个单元个的内容合并到一个单元格里,那么excel怎样快速把多个单元格内容合并?下面小编带来合并多个单元格内容的设置方法,希望对大家有所帮助. 合并多个单 ...
- 批量提取excel中包含特定关键字的单元格内容
批量提取excel中包含特定关键字的单元格内容 链接:https://pan.baidu.com/s/1uTnkYXh8jBcaeda-JoQDuQ 提取码:jbkv class get_xls_da ...
- Java读取修改xlsm格式表格_Android Excel电子表格API – 在Android应用程序中读取编辑XLS CSV XLSX XLSM HTML格式...
Android Excel Spreadsheet API 更多高级特征 具备格式化工作表,行,列,单元格等能力 Array,ArrayList 和 Recordset / Resultset数据导入 ...
- java poi读取excel文件(xlsx)
读取excel文件的方法有许多种,这篇文章主要描述通过poi读取excel文件. 先maven导入jar包 <dependency><groupId>org.apache.po ...
- java poi对excel xls和xlsx格式文件导入导出
一)poi简介 Apache POI项目是用于基于Microsoft的OLE 2复合文档格式开发文件格式的纯Java端口的主项目. 官网POI API地址:https://poi.apache.org ...
- JAVA 浏览器下载excel,自定义样式:合并单元格,设置多种背景填充颜色,冻结窗格
添加依赖: <!-- POI --><dependency><groupId>org.apache.poi</groupId><artifactI ...
- PHP不读取Excel空行,phpexcel中遇到空单元格不跳过
phpexcel中遇到空单元格不跳过 之前用phpexcel类,代码是这样写的: /* 导入excel文件 */ $fileType = PHPExcel_IOFactory::identify($d ...
- openxlpy 在excel中批量插入图片 根据单元格内容插入图片 图片随单元格大小变化而变化 AnchorMarker python
需求: 根据单元格的文本内容,插入相同名称的图片: 图片大小与单元格大小相同 要用到OS库和openxlpy库 步骤: 遍历excel区域里面的单元格,看是否有文本内容 根据文本内容确定图片的名称,从 ...
- excel用函数合并多个单元格内容,且用分隔符隔开
①首先,在打开的excel表格中输入几组数据,需要合并成一个单元格,用逗号分隔. ②在c1单元格中输入合并公式:=A1&","&B1,需要在英文输入法中输入双引号. ...
- excel利用公式取最后一行单元格内容
我们在数据处理中经常会涉及到去数据的前几行.后几行这样的操作.在excel中,取前几个单元格,我们可以直接写"=A1"这样的函数去取数.但是取最后一行的话,则不能写成"= ...
最新文章
- 讲讲Git如何合并分支(一)
- 新遇到的系统编译问题!已解决!
- Singing Superstar 字符串哈希-map操作
- Java面向对象概述
- opencv相机标定和人头姿态估计案例
- div 背景图 居中
- surface simplification using quadratic error metrics
- Linux下的 【pwd】 命令; 显示当前目录全路径。
- 2018美赛数学建模竞赛论文(隐私成本)
- 十三届蓝桥杯EDA省赛赛后感
- CF1149BThree Religions
- 记一次机房断电办公室网络瘫痪的恢复经过
- 单片机开发无线控制系列-单片机端代码实现
- cesium添加自定义点位图片
- 点击放大 swiper+photoswipe
- egret白鹭引擎基础介绍
- 计算机开机最快设置,如何让电脑启动速度变快
- php 屏蔽浸膏,【佳学基因】副甲状腺浸膏基因检测
- 知识图谱数据集下载 KnowledgeGraphDatasets
- 逻辑回归原理以及推导