关注
用的POI解析xls;
代码很短,正则表达式不熟练,不然能短三分之一... 而且坑爹的移动服务密码搞了我半个小时。
需要POI包的可以去网上找找,找不到私聊我,QQ:613258200,备注牛客。
Excel文件:
代码:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class POI_test {
public static void main(String[] args) throws FileNotFoundException,
IOException {
getSumTimes();
}
public static void getSumTimes() throws FileNotFoundException, IOException {
// 得到Excel常用对象
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(
"f:/yidong.xls"));
// 得到Excel工作簿对象
HSSFWorkbook wb = new HSSFWorkbook(fs);
// 得到Excel工作表对象
HSSFSheet sheet = wb.getSheetAt(0);
int maxRowNums = sheet.getLastRowNum();
int second = 0;
int minute = 0;
int hour = 0;
for (int i = 1; i < maxRowNums; i++) {
// 得到Excel工作表的行
HSSFRow row = sheet.getRow(i);
// 得到Excel工作表指定行的单元格
HSSFCell cell = row.getCell(4);
String time = cell.getStringCellValue();
for (int j = time.length() - 1; j >= 0; j--) {
if (time.charAt(j) == '秒') {
StringBuffer se = new StringBuffer();
for (int k = j - 1; k >= 0 && time.charAt(k) >= 48
&& time.charAt(k) <= 57; k--) {
se.append(time.charAt(k));
}
se.reverse();
int se_int = Integer.parseInt(se.toString());
second += se_int;
}
if (time.charAt(j) == '分') {
StringBuffer min = new StringBuffer();
for (int k = j - 1; k >= 0 && time.charAt(k) >= 48
&& time.charAt(k) <= 57; k--) {
min.append(time.charAt(k));
}
min.reverse();
int min_int = Integer.parseInt(min.toString());
minute += min_int;
}
if (time.charAt(j) == '时') {
StringBuffer hou = new StringBuffer();
for (int k = j - 1; k >= 0 && time.charAt(k) >= 48
&& time.charAt(k) <= 57; k--) {
hou.append(time.charAt(k));
}
hou.reverse();
int hour_int = Integer.parseInt(hou.toString());
hour += hour_int;
}
}
}
minute = minute + second / 60;
second = second % 60;
hour = hour + minute / 60;
minute = minute % 60;
System.out.println("总通话时间为:" + hour + " 小时 " + minute + " 分钟 "
+ second + " 秒 ");
}
}
运行效果:
查看原帖
点赞 2
相关推荐
牛客热帖
更多
正在热议
更多
# 我的实习日记 #
4134357次浏览 33129人参与
# 你认为小厂实习有用吗? #
151556次浏览 790人参与
# 第3届现代汽车Code Faster急速编程挑战赛 #
7415次浏览 326人参与
# 为了找工作你投递了多少公司? #
119202次浏览 758人参与
# 机械人的offer怎么选 #
296233次浏览 1285人参与
# 实习生的生存小技巧 #
41663次浏览 357人参与
# 实习返校后,你的精神状态是__? #
47232次浏览 166人参与
# 你最近因为什么迷茫? #
106284次浏览 975人参与
# 我的租房踩坑经历 #
229514次浏览 1279人参与
# 通信硬件薪资爆料 #
1349207次浏览 7307人参与
# 牛友的春节生活 #
134002次浏览 838人参与
# 如果能重来,就业or读研你选哪个? #
331864次浏览 2843人参与
# 工作不开心辞职是唯一出路吗 #
20653次浏览 63人参与
# 牛客AI体验站 #
32931次浏览 447人参与
# 为什么国企只招应届生 #
271718次浏览 1346人参与
# 顺丰求职进展汇总 #
91525次浏览 372人参与
# 你觉得什么岗位会被AI替代 #
68597次浏览 401人参与
# 机械人求职现状 #
45505次浏览 335人参与
# 求职遇到的搞笑事件 #
208912次浏览 1078人参与
# 你觉得机械有必要实习吗 #
92104次浏览 543人参与
# 体制内上岸心路历程 #
42142次浏览 243人参与